Bonjour tout le monde.
Je cherche à résoudre un petit problème qui rend mon site peu "ergonomique".
Voilà, alors sur le site, j'ai un formulaire contenant des input type="text" qui e peuvent contenir que des valeurs numérique. Pour ce faire, j'ai récupéré la fonction chiffres se trouvant dans la FAQ.
Ayant des nombres décimaux à saisir, et que seuls les chiffres étaient pris en compte, j'ai donc modifié la fonction comme ceci:
Code javascript : 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 function chiffres(event) { // Compatibilité IE / Firefox if(!event&&window.event) { event=window.event; } // IE if(event.keyCode!=8 && event.keyCode!=44 &&(event.keyCode < 48 || event.keyCode > 57)) { event.returnValue = false; event.cancelBubble = true; } // DOM alert('Valeur de key: '+event.which); if( event.which!=8 && event.which!=44 && event.which!=9 && (event.which < 48 || event.which > 57)) { event.preventDefault(); event.stopPropagation(); } }
Maintenant j'ai donc la possibilité de saisir des nombres à virgule.
Par contre, le formulaire étant de taille relativement importante (+/- 30 champs), et afin de permettre à l'utilisateur de naviguer plus rapidement, je voulais permettre à ce dernier de naviguer avec la touche "TAB".
Sur IE, no problemo, il passe d'un champ à l'autre sans même poser de question, mais sous FFX, il bloque aussi la touche "TAB".
J'ai donc placer la valeur 9 avec dans la condition, car elle est la valeur correspondant à la touche "TAB" (code ASCII).
Mais ça ne marche pas.
J'ai essayer d'afficher le "event.which" pour connaitre le code correspondant à la touche "TAB", mais il affiche 0.
Quelqu'un à une idée? J'ai surement oublier quelque chose, mais étant tout nouveau dans le monde javascriptien, je me permet de poser des questions un peu plus idiotes afin d'apprendre.
Merci pour votre collaboration ^^.
p.s.: j'ai regarder sur le net, mais eux disent qu'il faut hardcoder, et la solution ne me plait absolument pas de hardcoder quelque chose la dedans, car le javascript est censé rendre les choses dynamique, si je ahrdcode, je perds donc cet avantage (oups, je m'égard)
Partager