Bonsoir,
Je d�bute avec Ajax et voil� mon probl�me :
J'ai cr�� ma page avec un select qui se construit avec une s�lection pr�c�dente.
J'ai cr�� un code javascript qui fait appel � un fichier php pour proc�der � une requ�te SQL pour remplir ce select.
Extrait HTML :
En gros mon javascript :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 <table id="tab"> <tr> <td> <select id="choix" onchange="choix(document.getElementById('choix').value)"> <option>Choix 1</option> <option>Choix 2</option> </select> <select name="test"> </select> </td> </tr> </table>
Et mon fichier php retourne la chose suivante (apr�s la requ�te SQL qui va bien avec un WHERE prenant 'choix' en param�tre et le while ($row) qui va bien aussi) :
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 function choix(choix) { // Script AJAX var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }; } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; }; //on définit l'appel de la fonction au retour serveur xhr.onreadystatechange = function() { ajax(xhr); }; //on appelle le fichier xhr.open("GET", "ajax.php?choix="+choix, true); xhr.send(null); } function ajax(xhr) { if (xhr.readyState == 4) { document.getElementById('tab').elements['test'].innerHTML = xhr.responseText; }; }
Alors ca fonctionne impec sous FF, sous IE7 � la premi�re ouverture de la page le readyState passe bien � 4 mais il n'affiche rien dans le select...
Code : S�lectionner tout - Visualiser dans une fen�tre � part echo "<option>$row[intitulé]</option>";
Quelqu'un a-t-il une piste ?
D'avance merci !!!!
PS : j'ai essay� en commentant var xhr = null; et xhr = false; mais �a n'a rien chang�...
Partager