Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire Cours JavaScript, FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 03/07/2009, 13h25   #1
Membre du Club
 
Date d'inscription: avril 2009
Messages: 95
Par défaut incompatibilite onkeyup et onchange

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 :
<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
bambino13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/07/2009, 19h43   #2
Membre du Club
 
Date d'inscription: avril 2009
Messages: 95
Par défaut

J'ai trouvé j'ai remplacé onchange par Onblur et cela fonctionne impec......
bambino13 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS JAVASCRIPTF.A.Q JSTUTORIELS JSSOURCES JSLIVRES JS

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 22h32.


Vos questions techniques : forum d'entraide JavaScript - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.