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
|
function getXhr(){
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;
}
return xhr;
}
/**
* Méthode permettant d'envoyer les données qui sera appelée sur le click du bouton
*/
function remplir(parentSelect,enfantSelect){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById(enfantSelect).innerHTML = leselect;
alert(enfantSelect);
}
//côté ajax ça merde
else{
//on contrôle le statut. Si 404, le fichier ouvert par "open" n'existe pas
if(objet1.status == 404){
alert('Erreur ' +objet1.status + '! La page semble être absente...');
}
}
};
// Ici on va voir comment faire du post
//ne pas oublier de poster les arguments
//ici, l'id de l'auteur
sel = document.getElementById(parentSelect);
idParent = sel.options[sel.selectedIndex].value;
//Ouverture : méthode, fichier, mode (true=asynchrone | false=synchrone)
xhr.open("GET","/GTP/tache?action=ajouter&remplir="+enfantSelect+"&select="+idParent,true);
//envoie
xhr.send(null);
} |
Partager