Bonjour,

je suis actuellement entrain de travailler sur le xmlhttprequest mais les nouvelles technologies me bloquent.
En effet, mon script , permettant normalement d'afficher le résultat d'une requette dans un <select> dès le chargement de la page, fonctionne a merveille sous IE6 et sous FF mais apres l'avoir testé sous IE7 bahhhhh -->Ca marche pas




voici mon code composé de la fonction d'envoi puis de la fonction de "statechange"
le debut du code consiste au remplissage de la variable data que je n'ai pas affiché.

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
 
//alert(data);
	if (window.XMLHttpRequest){ // code for Mozilla, etc.
		//Pour des raisons obscures on place le onreadystatechange aprés la méthode send de même que pour les parenthèses.
		xmlhttp = new XMLHttpRequest();
		xmlhttp.open("POST",page_test,false); //on travail en synchrone !!! N?cessit? d'attendre le résultat du formulaire avant de poursuivre...
		xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		xmlhttp.send(data);
		xmlhttp.onreadystatechange=xmlhttpChange(); //exécuté lors de la réception complete des données
	}
	// Code for IE
	else if (window.ActiveXObject){
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		if (xmlhttp){
			xmlhttp.onreadystatechange=xmlhttpChange;
			xmlhttp.open("POST",page_test,false);
			xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
			xmlhttp.send(data);
		}
	}
 
    return test_envoi;
}
 
function xmlhttpChange(formulaire){
	//Fonction qui renvoie le responseText d'une requ?te XMLHttpRquest, affect? au "onreadystatechange"
	if (xmlhttp.readyState==4){
		if (xmlhttp.status==200){
	     	if (xmlhttp.responseText==false){
                //alert("Impossible d'enregistrer les donnees ! Erreur dans le formulaire " + formulaire.toUpperCase() + ".");
                test_envoi= false;
			} else {
            	//on renvoi vrai uniquement car la procédure est appellée +eurs fois !
            	//alert(xmlhttp.responseText);
                test_envoi= xmlhttp.responseText;
            }
		}
	}
}

ce code ne fonctionne donc pas sous ie7
et il le fauuuut donc si quelqu'un pourrait m'éclairer ou modifier ce qui pourrait etre mauvais ce serai trooop sympa.

Cordialement. merci d'avance