Ajax - lier 3 listes déroulantes
neopolo
-
hazar2002 -
hazar2002 -
Bonjour,
J'essaie, dans un formulaire de lier 3 lites déroulantes de la manière suivante : faire dépendre les deux dernières listes déroulantes en fonction du résultat de la première.
L'id de la première liste déroulante est id_niveau
Ensuite j'aimerai que cette valeur soit injectée dans deux pages : url et url_2 où j'ai deux requêtes différentes
url renvoie la valeur id_ecrirebb
url_renvoie la velur id_ecrirecc
Voici le script que j'ai bidouillé en essayant d'injecter une fonction dans l'autre :
Or celui-ci ne fonctionne pas, je n'ai pas de message d'erreur mais il me renvoie uniquement que la première valeur 'id_ecrirebb'
Comment faire pour recevoir également id_ecrirecc ?
Peut-être que la solution serait l'utilisation du responseXML au lieu du responseText ?
Quelqu'un pourrait m'aider ? Je sèche....
Merci d'avance
J'essaie, dans un formulaire de lier 3 lites déroulantes de la manière suivante : faire dépendre les deux dernières listes déroulantes en fonction du résultat de la première.
L'id de la première liste déroulante est id_niveau
Ensuite j'aimerai que cette valeur soit injectée dans deux pages : url et url_2 où j'ai deux requêtes différentes
url renvoie la valeur id_ecrirebb
url_renvoie la velur id_ecrirecc
Voici le script que j'ai bidouillé en essayant d'injecter une fonction dans l'autre :
<script language="Javascript" type="text/JavaScript">
function makeRequest(url,url_2,id_niveau,id_ecrirebb,id_ecrirecc)
{
var http_request = false;
if (window.XMLHttpRequest)
{
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType)
{
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject)
{
try
{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!http_request)
{
alert('Abandon :( Impossible de créer une instance XMLHTTP');
return false;
}
http_request.onreadystatechange = function() { traitementReponse(http_request,id_ecrirebb,id_ecrirecc); }
http_request.open('POST', url, true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
obj=document.getElementById(id_niveau);
data1="val_sel="+obj.value;
http_request.send(data1);
http_request.close();
http_request.open('POST', url_2, true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
obj=document.getElementById(id_niveau);
data2="val_sel="+obj.value;
http_request.send(data2);
}
function traitementReponse(http_request,id_ecrirebb,id_ecrirecc)
{
var affich="";
if (http_request.readyState == 4)
{
if (http_request.status == 200)
{
var affich_list=http_request.responseText;
obj = document.getElementById(id_ecrirebb);
obj.innerHTML = affich_list;
}
else
{
alert('Un problème est survenu avec la requête.');
}
}
traitementReponseb(http_request,id_ecrirecc);
}
function traitementReponseb(http_request,id_ecrirecc)
{
var affich="";
if (http_request.readyState == 4)
{
if (http_request.status == 200)
{
var affich_list2=http_request.responseText;
obj = document.getElementById('id_ecrirecc');
obj.innerHTML = affich_list2;
}
else
{
alert('Un problème est survenu avec la requête.');
}
}
}
</script>
Or celui-ci ne fonctionne pas, je n'ai pas de message d'erreur mais il me renvoie uniquement que la première valeur 'id_ecrirebb'
Comment faire pour recevoir également id_ecrirecc ?
Peut-être que la solution serait l'utilisation du responseXML au lieu du responseText ?
Quelqu'un pourrait m'aider ? Je sèche....
Merci d'avance
A voir également:
- Ajax - lier 3 listes déroulantes
- Listes déroulantes excel - Guide
- Ai suite 3 - Télécharger - Optimisation
- Listes déroulantes en cascade excel - Guide
- Picasa 3 - Télécharger - Albums photo
- Photorecit 3 - Télécharger - Visionnage & Diaporama