Ajax, IE et délires javascriptiques :s

Smoking bird Messages postés 870 Date d'inscription   Statut Membre Dernière intervention   -  
Smoking bird Messages postés 870 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je code un formulaire d'identification dont la vérification des données se fait via javascript et les méthodes ajax (d'après mes bouquins). Ca fonctionne impecc sous Opéra et Firefox, mais sous IE, que dalle!

Voilà comment ça se passe:

La page d'accueil du site est vide, à l'exception d'un formulaire contenant les inputs adéquats. Sur l'input à vérifier, il y a onKeyUp='checkpsw()', qui, comme vous l'avez compris, vérifie le contenu de l'input dès qu'une touche est relâchée -et que l'input a le focus.

La fonction checkpsw déclenche une autre fonction grâce à une minuterie. La seconde fonction fait en fait les vérifications, la première est supposée palier au problème d'IE.

Ces deux fonctions fonctionnent (merci les redondances -_-) parfaitement sous Opéra et firefox, mais ça plante sur IE. En fait, la vérification peut renvoyer trois string différents, par défaut elle en renvoi au moins deux, un premier, qui modifie un champ texte pour s'afficher, et le second, qui fait pareil et qui permet si le test est passé de continuer. Je crois que IE refuse de changer 2 fois mon champ texte, alors que les autres le font sans problème.

Quelqu'un pourrait il m'aider?

Voici mes fonctions:

function checkpsw() {
    if(document.getElementById('psw').value.length=6) { /*vérifie que l'utilisateur a bien rentré 6 caractères avant de déclencher la vérification dans les bdd*/
    setTimeout('checkpsw1()',1000);
    }
}

function checkpsw1() {

		if(window.XMLHttpRequest)
			{
				var htr=new XMLHttpRequest();
			}
			
		if(window.ActiveXObject)
			{
				var htr=new ActiveXObject('Microsoft.XMLHTTP');
			}
		var psw=document.getElementById('psw').value;
		var url="ajaxLogger.php?psw="+psw;
		
		htr.open("GET",url,false);
		htr.send(null);
		
		document.getElementById('checkPswP').innerHTML=htr.responseText;

	}


En vous remerciant,

Smoke
A voir également:

2 réponses

Smoking bird Messages postés 870 Date d'inscription   Statut Membre Dernière intervention   58
 
up
1
Smoking bird Messages postés 870 Date d'inscription   Statut Membre Dernière intervention   58
 
Je continue mes recherches, et il semble que le problème se situe au niveau de l'utilisation des évènements.

<input onFocus='checkpsw()' name='hhh' />


ne fonctionne donc absolument pas :s sous IE en tous cas, puisque tout va bien sous les autres navigateurs. Comment puis-je utiliser les évènements sous IE?
1