Bonsoir,
Un petit problème que je n'ai pas réussi à résoudre cet après-midi.
Je cherche à faire en sorte que l'utilisateur ne soit pas obligé d'utiliser la tabulation ou sa souris pour remplir les 3 champs d'une date (jour, mois, année). J'ai donc prévu une fonction pour que le focus change dès que 2 caractères sont entrés dans le champ.
Seulement voilà, je souhaiterais également que dans le cas où l'utilisateur souhaite apporter une modification à ses valeurs (sans tout effacer), ce système soit capable de modifier certaines valeurs seulement, en les sélectionnant.
Voici ce que j'ai pour le moment :
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 <html> <head> </head> <body> <script language="Javascript"> function ChampSuivant(actuel, suivant, limite) { if (actuel.value.length == limite) { suivant.focus(); } } </script> <form name="form"> <input type="text" name="champ1" size=2 maxlength=2 onKeyUp="ChampSuivant(champ1,champ2,2)"> / <input type="text" name="champ2" size=2 maxlength=2 onKeyUp="ChampSuivant(champ2,champ3,2)"> / <input type="text" name="champ3" size=2 maxlength=2 onKeyUp="ChampSuivant(champ3,champ4,2)"> <br/> <input type="text" name="champ4" size=2 maxlength=2 onKeyUp="ChampSuivant(champ4,champ5,2)"> / <input type="text" name="champ5" size=2 maxlength=2 onKeyUp="ChampSuivant(champ5,champ6,2)"> / <input type="text" name="champ6" size=2 maxlength=2> </form> </body> </html>
Essayez de remplir les champs, et revenez dans le premier champ pour apporter des modifications : le focus "saute" le champ suivant et se place un champ trop loin.
Quelqu'un saurait-il m'indiquer ce que je fais de mal ? Je ne vois pas la logique qui fait que le focus aille trop loin dans ce cas.
Merci !
Partager