Allez hop je ré-ouvre.
Je me suis rendu compte que le script ne fonctionnait pas sur IE (oh tiens c'est bisar)
le code de mon fichier Ajax:
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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| function ajax(id_du_projet)
{
if (tabCountClick[id_du_projet] == 0)
{
var xhr = null;
var url = "ajax/reponse.php";
var browzer = "";
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
browzer = "FF";
}
else if (window.ActiveXObject)
{
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
browzer = "IE";
} else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
req = false;
}
//on définit l'appel de la fonction au retour serveur
xhr.onreadystatechange = function() { garnis_le_select(xhr, id_du_projet, browzer); };
//on appelle le fichier reponse.php
xhr.open("GET", url, true);
xhr.send(null);
tabCountClick[id_du_projet] = 1;
}
}
function garnis_le_select(xhr, id_du_projet, browzer)
{
var plop = "";
if (xhr.readyState == 4)
{
if ( browzer == "FF" )
{
var docXML= xhr.responseXML;
var items = docXML.getElementsByTagName("projet");
alert("coucou vvv");
var monSelect = document.getElementById("les_projets_" + id_du_projet);
var mesOptions = "";
mesOptions += '<option value="0">Aucune</option>\n';
for (i=0; i<items.length; i++)
{
mesOptions += '\t\t<option value="'+ items[i].getElementsByTagName("id")[0].firstChild.nodeValue +'">'+ items[i].getElementsByTagName("nom")[0].firstChild.nodeValue +'</option>\n';
}
alert(monSelect.id);
monSelect.innerHTML = mesOptions;
}
else
{
var docXML= xhr.responseXML;
var items = docXML.getElementsByTagName("projet");
var monSelect = document.getElementById("les_projets_" + id_du_projet);
var mesOptions = "";
mesOptions += '<option value="0">Aucunezzz</option>';
for (i=0; i<items.length; i++)
{
mesOptions += '<option value="' + items[i].childNodes[0].text +'">' + items[i].childNodes[1].text +'</option>';
}
monSelect.innerHTML = mesOptions;
}
}
} |
C'est pas encore optimisé, mais c'est juste pour tester.
Avec IE, je n'arrive pas à renvoyer les "option" dans le "select"
monSelect.innerHTML = mesOptions;
Comment faire pour que ça marche ?
Cordialement.
Partager