Bonjour a tous,
J'ai besoin d'aide pour une petite chose.
Voila mon souci: J'ai un formulaire avec des champs et plus particulièremment un champ password. J'ai 2 cas:
- Cas de création le champ est vide. Lorsque je le remplis je vois ce qui est écris. Lorsque je clique ailleurs que dans mon champ il passe en champ étoilé. Puis lorsque mon formulaire est remplis je l'enregistre.
- Cas de modification. Lorsque une création a été effectué et que je désire modifier mon formulaire et notament mon champ password ce dernier doit rester étoilé (pour des raisons de sécurité). Par contre si je dois modifier ce champ je dois impérativement, pour voir ce que j'ecris effacer tout ce qu'il y a dans mon champ et recommencer etc... Por le moment tout fonctionne je fais un test sur la longueur de mon champ et si ce dernier est nul alors je repasse en mode text.
Seulement voila le problème, l'utilisateur peut aussi tout selectionner et reécrire par dessus ainsi la longueur n'est plus nul et par conséquent ce qu'il ecrit est toujours étoilé (je répète si jamais un nouveau mot de passe doit crée ou modifié en entier il faut impérativement voir ce qu'il ecrit). Je sais que je dois faire un test sur la touche appuyé (onkeypress) pour le rajouter dans mon test mais je dois faire ça uniquement si tout le champ est sélectionné et je ne sais pas comment faire mon test pour savoir si tout le champ est selectionné sachant que mon mot de passe est sur 4 caractères au max et que bien évidemment il peut avoir un mot de passe sur 2 ou 3 caractères.
Je vous laisse mon code il pourrait peut- être servir à d'autre ^^
Ceci est mon code dans mon fichier xsl avec mon javaScript:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <xsl:call-template name="translate"> <xsl:with-param name="word">toto</xsl:with-param> </xsl:call-template> <out:call-template name="generateInput"> <out:with-param name="password">1</out:with-param> </out:call-template> <input type="text" maxlength="4" class="formField" style="display:none" name="titi" id="titi" value=""/> <script language="javascript"> var src = document.getElementById("toto") var dest = document.getElementById("titi") dest.onblur = test2_onblur; src.onkeypress = test1_onkeypress; function test1_onkeypress() { onkeyPress="touche(event);" if (src.value.length == 0) { dest.style.display = ""; dest.focus(); src.style.display = "none"; } }
maintenant voici le code de la foncion me permettant de faire mon contrôle sur la touche appuyée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function touche(evenement) { var touche = window.event ? evenement.keyCode : evenement.which; alert(touche); }
Il me manque que le code de la fonction pour savoir si tout le champs est selectionné ou peut être vous auriez une autre idée. Merci a tous
Partager