Bonjour
comment je peux limiter le saisie au niveau d'une zone de text ?
Exemple :
un champ n'accepte que les chiffres de 1 a 30 , un autre n'accepte que de 1 a 12 et l'autre pour les annee n'accepte que de 1900 a 2999.
Merci d'avance [/img]
Version imprimable
Bonjour
comment je peux limiter le saisie au niveau d'une zone de text ?
Exemple :
un champ n'accepte que les chiffres de 1 a 30 , un autre n'accepte que de 1 a 12 et l'autre pour les annee n'accepte que de 1900 a 2999.
Merci d'avance [/img]
sur le onchange de ton champ ou sur le onblur, vérifie isNumber(champ.value) et ensuite ton range de valeur.
fait un parseInt() (en précisant la base) puis un isNan() pour vérifier que la conversion est bonne puis vérifie ton range de nombre.
Tu declenches tout ça sur le onchange de ton champ, ou si tu veux plus de rafinement, tu rajoutes un Timer dedans, mais c'est du raffinement...
je récidive:
dans un setInterval c'est plus sur ...
oui mais pourquoi gérer ça absolument sur le champ? à la soumission, c'est pas possible? c'est quoi cette histoire de timer? pourquoi les paquebots fument?
pourquoi l'eau mouille ?
Pourquoi Java twister ... ?
juste pour un histoire d'ergonomie de saisie/controle en direct et pas en décalé dans le onsubmit ...
Mais bon ...
Merci a vous et sur tout a mon ami Space :wink:
j'ai la mémoire courte fadex ;)
tan mieu pour toi :wink:
tu peux aussi sur le onfocus capturer les evenements keypress
et ne retourner que les valeur que tu accepte
par exemple
0123 pour le premier caractère d'un champ jour
0-9 pour le champs suivant avec verif de la valeur comprise entre 01 et 31
il faut libéré l'évènement sur le onblur
A+JYT
en marge de ton sujet, j'ai fait ça y a qqs temps:
http://javatwist.imingo.net/checkdate.phpCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <form style="display:none" id="quand" action=""> <p> <input name="a" type="text" size="1" maxlength="4" /> <input name="m" type="text" size="1" maxlength="2" /> <input name="j" type="text" size="1" maxlength="2" /> <input type="button" value="ok" onclick="verif(f['a'].value,f['m'].value,f['j'].value)" /> </p> </form> <script type="text/javascript"> document.forms["quand"].style.display="block"; var f=document.forms["quand"].elements; function verif(a,m,j){ m-=1; d=new Date(a,m,j); var rep= (d.getFullYear()!=a || d.getMonth()!=m) ? "date invalide" : "date valide"; alert(rep); } </script>
Merci bien :wink: