Javascript changer le type d'entrée de façon dynamique ne fonctionne pas sur IE8

j'ai un champ de saisie pour entrer le mot de passe dans une page web:

<input name="txtPassword" type="text" class="input2" id="txtPassword" value="Password" onfocus="txtOnFocus2('txtPassword','Password');" onblur="txtOnBlur2('txtPassword','Password');" />

dans l'état initial, le usershould lire "mot de passe" comme valeur initiale, et quand il commence à taper un mot de passe, le champ doit changer de type de mot de passe. Aussi, lorsqu'il définit il est de retour à vide ou de la valeur initiale du champ doit changer de type "texte" et afficher le mot de passe.

J'ai écrit un code obtenu, il travaille sur Firefox, Chrome et safari et sa ne change pas le type de mot de passe sur IE 8.

c'est le code js que j'ai faite en modification d'un code de fonction:

 function txtOnFocus2(elementId, defaultText)
 { 
    if (document.getElementById(elementId).value == defaultText)
    {
       document.getElementById(elementId).value = "";
  document.getElementById(elementId).type = "password";
    }
 }

 function txtOnBlur2(elementId, defaultText)
 {
    var textValue = document.getElementById(elementId).value;

    if (textValue == defaultText || textValue.length == 0)
    {
      document.getElementById(elementId).type = "text"; 
  document.getElementById(elementId).value = defaultText;
    }
 }

Cela fonctionne très bien dans Firefox,chrome et safari, mais ne change pas le type de champ sur IE 8.

OriginalL'auteur mithunsatheesh | 2011-10-01