Bonjour à tous,
J'ai développé une petite application où j'ai utilisé de l'ajax.
La fonction ajax que j'utilise permet de mettre à jour une combobox lors de la sélection d'une valeur dans une autre combobox. Cette fonction récupère dans un premier temps la valeur de la première combobox, vide la seconde puis lance un scrip php afin de reremplir la seconde combobox.
J'avais développé cette fonction qui fonctionnait trés bien sous firefox. La personne pour laquelle j'ai développé l'application utilise IE. D'aprés ce que je vois lorsque je regarde le code source de la page ma combobox n'est pas vidée.
Voici le code de ma fonction :
Je ne vois pas du tout d'où cela peut venir
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 function actualiserCombo(valueID) { // On vide la combo 2 document.getElementById('combo_fournisseur').innerHTML=null; //Je pense que c'est ici que la combo n'est pas vidée // On lance la requete ajax var xhr = getXhr(); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ optionsselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste document.getElementById('combo_fournisseur').innerHTML = optionsselect; } } // Ici on va voir comment faire du post xhr.open("POST","Code/Php/Maj_Combo_Fournisseur.php?vue=ajax",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier de poster les arguments // ici, on regarde ce qui est séléctionné dans la combo1 maCombo = document.getElementById('combo_facturation'); idvalue = maCombo.options[maCombo.selectedIndex].value; // On envois la requete xhr.send("idvalue="+idvalue); } // Ici cf doc AJAX function getXhr(){ var xhr = null; if(window.XMLHttpRequest) xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; }
Si vous auriez une petite idée.
MErci d'avance pour vos réponses
Partager