[javascript] changer le type d'un input en password lorsqu'on clique ?

changer le type d'un input en password lorsqu'on clique ? [javascript] - Programmation

Marsh Posté le 28-05-2002 à 20:56:11    

Hello,
 
J'ai un input en mode texte avec value='Entrez votre mot de passe' et je voudrais que lorsqu'on clique dessus le type se change en password, comment faire ?
 
a++
 
Darx


---------------
Des trucs - flickr - Instagram
Reply

Marsh Posté le 28-05-2002 à 20:56:11   

Reply

Marsh Posté le 21-11-2007 à 04:12:03    

J'ai exactement le même problème... donc je remonte ce topic vieux de 5 ans !
 
J'ai réussi en utilisant la propriété type de l'input en javascript. ca marche très bien sous firefox mais pas du tout sous IE, il dit que l'attribut type n'est pas reconnu...
 
Est-ce normal ? y a-t-il une solution pour contourner le problème ou est du à une erreur dans ma programmation ?

Reply

Marsh Posté le 21-11-2007 à 09:28:20    

perso je mettrais 2 inputs, un text avec display, un password avec display none.
Et tu switches lors du click sur le 1er.
Changer le type d'un input ça sent le paté :o

Reply

Marsh Posté le 21-11-2007 à 10:34:08    

En effet, IE fait preuve de mauvaise volontée (pour changer :o ) concernant la modif en live du type de l'élement. De toute facon ce genre de manip (text vers password) est pas terrible et même déconseillée.
 
Ceci dit, on peut le faire malgré tout en feintant un peu :

Code :
  1. ...
  2. ...
  3. var changeType = function (el)
  4. {
  5.  if (el.type.toLowerCase () != "password" )
  6.  {
  7.   var pw = document.createElement ("input" );
  8.   pw.setAttribute ("type", "password" );
  9.   pw.setAttribute ("value", el.value);
  10.   el.parentNode.replaceChild (pw, el)
  11.  }
  12.  return true;
  13. }
  14. ...
  15. ...
  16. <input type="text" value="Entrez votre mot de passe" onclick="changeType (this);">
  17. ...
  18. ...


 
Ca devrait fonctionner sous FF et IE


---------------
We deserve everything that's coming...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed