Salut,
je suis sous IE 6
voila pour un champ input text,
j'utilise 3 évènements onkeyup, onchange, onkeypress.
dans le onkeyup j'ai une fonction qui me permet de faire un masque de saisi pour ma date
dans le onchange j'ai une fonction qui contrôle que le date saisie est bien valable par rapport à la date du jour
et enfin dans le onkeypress j'ai une condition qui interdit certains caractères.
Voila mon problème c'est que quand je mets ces 3 évènements en même temps il y a juste le onkeyup et le onkeypress qui fonctionne le onchange n'est pas pris en compte !
En revanche si j'enlève le onkeyup l'évenement onchange et onkeypress aussi fonctionnne !!!
Donc je sais pas si il y a incompatibilité entre le onchange et le onkeyup
mais quand les deux sont ensembles cela pose un problème !!!!
voici mon code :
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
42
43
44
45
46
47
48
49 <html> <head> <script type="text/javascript" > function DateDebut() { // date renseignée par l'utilisateur var dateD = document.getElementById('dte_deb_validite').value; var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').reverse().join(''); //date de référence var dateR = new Date() var mois = dateR.getMonth()+2 var annee =dateR.getFullYear() var dateRe = (mois)+"/"+(annee) var dd = dateRe.replace(/^(\d\/)/,"0$1") var DateR = dateRe.replace(/^(\d\/)/,"0$1").split('/').reverse().join('') if (DateR>DateD) { alert("la date saisie est antérieure à la date de référence : "+dd+" ,veuillez indiqué une date égale ou supérieur à la date de référence"); return false } } function masqueSaisieDate(obj) { var ch; var ch_gauche, ch_droite; ch = obj.value; obj.value = ch.slice(0,7); ch.toString(); if (((ch.slice(2, 3)) != ("/") ) && (ch.length >= 3) ){ ch_gauche = ch.slice(0, 2); ch_droite = ch.slice(2); obj.value = ch_gauche + "/" + ch_droite; } return; } </script> </head> <body> <td width="300"> <font size ="2"><b><font color="red">*</font> AVK : Date de début de validité (mm/aaaa) </b></font><input name="Date_Deb_Validite" id="dte_deb_validite" size=10 maxlength=7 onchange="DateDebut();" onkeyup="masqueSaisieDate(this)" onkeypress="if (event.keyCode < 48 || event.keyCode > 57)event.returnValue = false;" > </td> </body> </html>
Merci
Partager