La modification de la <input> tapez dans IE avec JavaScript

Ce code ci-dessous fonctionne dans tous les navigateurs sauf IE:

<input type="text" name="passwordLogin" value="Password" onfocus="if(this.value=='Password'){this.value=''; this.type='password'};" onblur="if(this.value==''){this.value='Password'; this.type='text'};" size="25" />

Comment puis-je résoudre ce problème pour IE?

J'ai fait quelques modifications, mais il a encore une erreur.

Je veux qu'il fonctionne comme ceci, comme ici:

<input type="text" name="usernameLogin" value="Email" onfocus="if(this.value=='Email'){this.value=''};" onblur="if(this.value==''){this.value='Email'};" size="25" />

si je ne saisissez rien il va mettre la valeur de retour.

J'ai donc essayé ceci:

<td colspan="2" id="passwordLoginTd">
     <input id="passwordLoginInput1" type="text" name="passwordLogin" value="Password" onfocus="passwordFocus()" size="25" />
     <input id="passwordLoginInput2" style="display: none;" type="password" name="passwordLogin" value="" onblur="passwordBlur()" size="25" />
    </td>
    <script type="text/javascript">
    //<![CDATA[

     passwordElement1 = document.getElementById('passwordLoginInput1');
     passwordElement2 = document.getElementById('passwordLoginInput2');

     function passwordFocus() {

      passwordElement1.style.display = "none";
      passwordElement2.style.display = "inline";
      passwordElement2.focus();

     }

     function passwordBlur() {

      if(passwordElement2.value=='') {

       passwordElement2.style.display = "none";
       passwordElement1.style.display = "inline";
       passwordElement1.focus();

      }

     }

    //]]>
    </script>

comme vous pouvez le voir, le flou ne fonctionne pas.

Enfin je l'ai eu, je devais enlever:

passwordElement1.focus();

OriginalL'auteur MrEnder | 2010-04-02