Jquery valeur par défaut dans le champ mot de passe

J’utilise ce plugin Jquery pour remplir des entrées avec du texte qui disparaît au clic. Ce n’est pas idéal pour les champs de mot de passe car tout se présente sous forme de points. Quel serait un bon moyen de rendre un texte par défaut visible dans les champs de mot de passe avant de commencer à taper?

Avec JS, ma réponse serait la même que celle de @ ultimatebuster. Cependant, la totalité de la route JS est en désordre, maintenant que des alternatives commencent à apparaître. De nombreux navigateurs modernes supportent maintenant cette chose directement via HTML5:

 

(De nombreux navigateurs modernes = tous les principaux sauf Internet Explorer. Je refuse de le coder; si vous devez avoir la même chose dans IE, vous devrez suivre la voie du hacky.)

Vous pouvez définir le type du champ de saisie comme mot de passe. Toutefois, réglez-le sur javascript sur normal lors du chargement de la page (de cette façon, vous pourrez vous replier facilement si l’utilisateur ne dispose pas de JS). Une fois le clic reçu, définissez le type du champ de saisie sur un mot de passe.

Comme suggéré, vous pouvez échanger les entrées, mais cela ne fonctionne pas dans IE. IE ne le permettra pas, car cela pourrait être une sorte de faille de sécurité.

J’avais l’habitude d’utiliser ceci:

 /* From: http://grzegorz.frydrychowicz.net/jquery_toggleformtext/ Modified to swap password textbox type so watermark can be read */ $(document).ready(function() { if (!jQuery.browser.msie) { $("input:password").each(function() { if (this.value == '') { this.type = "text"; } $(this).focus(function() { this.type = "password"; }); $(this).blur(function() { if (this.value == '') { this.type = "text"; } }); }); } $("input:text, textarea, input:password").each(function() { if (this.value == '') { $(this).addClass("watermark"); this.value = this.title; } }); $("input:text, textarea, input:password").focus(function() { $(this).removeClass("watermark"); if (this.value == this.title) { this.value = ''; } }); $("input:text, textarea, input:password").blur(function() { if (this.value == '') { $(this).addClass("watermark"); this.value = this.title; } }); $("input:image, input:button, input:submit").click(function() { $(this.form.elements).each(function() { if (this.type == 'text' || this.type == 'textarea' || this.type == 'password') { if (this.value == this.title && this.title != '') { this.value = ''; } } }); }); }); 

J’ai finalement finalement abandonné le comportement normal de saisie du mot de passe. J’ai trouvé l’échange d’échange ci-dessus un peu bizarre, mais vous pouvez l’essayer.