Jacob Nielsen discute en uno de sus rants, si debemos esconder o no las contraseñas en los formularios de registro, etc. Yo en lo personal prefiero tener los campos escondidos, pero entiendo el porque a algunas personas les puede ser dificil utilizarlos así.
Por mi parte, lo que he estado haciendo desde hace un rato ya, es agregar un botón de esconder y mostrar el password, a continuiación el código Javascript para lograr esto. Y si te preguntas porque no utilizo mejor jQuery, la razón es que hay problemas de compatibilidad en diferentes browsers, jQuery no es capaz de cambiar el “type” del campo, de “password” a “text” y viceversa.
Field:
<form name="formname">
<label>Password <a href="javascript:void(0);" onclick='this.innerHTML=(show_hide_password(document.formname["password"])=="text"?"Hide":"Show");'>Show</a></label>
<input type="password" name="password" id="password" />
</form>
Javascript:
function show_hide_password(elem) {
var eData={v:elem.value, t:elem.type, s:elem.size, n:elem.name, c:elem.className, i:elem.id},
newElem, newType=(eData.t=='password'?'text':'password');
try {
newElem=document.createElement("<input type='"+newType+"' name='"+eData.n+"' value='"+eData.v+"' size='"+eData.s+"' class='"+eData.c+"' id='"+eData.i+"'>");
}
catch(e) {
newElem=document.createElement('input');
newElem.name=eData.n;
newElem.type=newType;
newElem.size=eData.s;
newElem.value=eData.v;
newElem.className=eData.c;
newElem.id=eData.i;
}
elem.parentNode.replaceChild(newElem, elem);
return newElem.type;
}
Parte del código es mío y honestamente no recuerdo donde conseguí parte de la función así que no puedo darle el credito apropiado.