Bonjour
Quelqu'n a eu un probleme avec la fonction focus d 'un champ.
en gros ce que je dosi faire c'est lorsque mon champs est rempli au max il va au champs suivant mais le probleme c'est que j'ai un trois champ qui se suivent sans de libelle et ca me fait sauter deux champ .
Mais ce qui est bizarre c'est que ca marche sur firefox le focus marche tres bien.
il ya t il un moyen de prendre le focus avec l'argument (paramname ou ID).
Merci pour ceux qui lisent .
j envoie le code demain je ne suis pas au boulot :/
mon javascript:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <s:textfield name="Jour" theme="perso" tabindex="5" id="dn_dd" maxlength="2" size="2" /> / <s:textfield name="Mois" theme="perso" tabindex="6" id="dn_mm" maxlength="2" size="2" /> / <s:textfield name="Annee" theme="perso" tabindex="7" id="dn_aaaa" maxlength="4" size="4" /> <span class="date-pattern">(JJ/MM/AAAA)</span> </li>
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 $('#dn_dd, #dn_mm, #dn_aaaa').keyup(function(event) {nextFieldAtChar($(this), event.which);}); function nextFieldAtChar(field, key) { // Récupérer la longueur max limit = field.attr('maxlength'); // Si la touche TAB est activée, ne pas faire le contrôle pour éviter les // pièges aux claviers if(key == 9 || key == 16) return true; // Calculer la longueur de la saisie longeur = field.val().length; if (field.id!="dn_jj" || field.id!="dn_mm") { // Répérer le champ suivant next = field.next('input').eq(0);alert("next suivant:"+field.val()); if( ! next.length){ next = field.parent().next().find('input').eq(0); alert("next1:"+field.val()); } if( ! next.length) { next = field.parent().next().next().find('input').eq(0); alert("next2:"+field.val()); } // Une fois la limite atteinte, déplacer le focus if(next.length && longeur >= limit) { var toto=next.focus(); alert("next3:"+field.val()+" "+toto); } } else{ if(field.id=="dn_jj"){ next=${'#dn_mm'}; else{} }} }
Partager