merci pour votre réponse. la solution est proche!!
J'ai bien effectuée les modifs suite à votre poste.
ce qui me donnait cette réponse de firebug en choisissant Mr XXX dans ma première ligne :
<?xml version="1.0"?><liste><NomsAuteur>AAAA</NomsAuteurs><NomsAuteur>BBBB</NomsAuteurs><NomsAuteur>CCCC
</NomsAuteurs></liste>
Je pense que <NomsAuteur> devrait etre remplacé par <NomsLivres> vue que la réponse est le noms des livres?
Je l'ai donc remplacé dans mon fichier ajaxLivres.php
1 2 3
| while($row = mysql_fetch_assoc($res)){
$buffer .='<NomsAuteurs>'.$row['NomsLivres'].'</NomsAuteurs>';
} |
Par
1 2 3
| while($row = mysql_fetch_assoc($res)){
$buffer .='<NomsLivres>'.$row['NomsLivres'].'</NomsLivres>';
} |
J'ai maintenant la bonne réponse du post à savoir :
<?xml version="1.0"?><liste><NomsLivres>AAAA</NomsLivres><NomsLivres>BBBB</NomsLivres><NomsLivres>CCCC
</NomsLivres></liste>
Seulement ma seconde liste reste toujours vide.
Ne doit il pas y avoir un "eval" quelque part?
J'ai aussi une erreur dans mon fichier fonction.js
selbox.length has no properties
onreadystatechange()fonction.js (line 49)
[Break on this error] selbox.options[selbox.length] = new_elem;
voici les sources de ce fichier fonction.js
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
| function getXhrTrap(){
if(window.XMLHttpRequest) // Firefox et autres
var xhrT = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
var xhrT = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
var xhrT = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non support2 par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
var xhrT = false;
}
return xhrT;
}
function getLivres(NomsAuteurs) {
//Passe le nom de l'auteur en parametre de l'url
var NomsAuteurs = document.getElementById('auteur').options[document.getElementById('auteur').selectedIndex].value;
var arg = 'NomsAuteurs='+NomsAuteurs;
var xhrT = getXhrTrap();
xhrT.open("POST","ajaxLivre.php",true);
xhrT.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhrT.send(arg);
// On defini ce qu'on va faire quand on aura la reponse
xhrT.onreadystatechange = function()
{
// On ne fait quelque chose que si on a tout recu et que le serveur est ok
if(xhrT && xhrT.readyState == 4 && xhrT.status == 200 && xhrT.responseXML)
{
reponseT = xhrT.responseXML.documentElement;
var livres = reponseT.getElementsByTagName("NomsLivres");
//la tu recuperes le select dans lequel tu veux ajouter des elements
var selbox = document.getElementById("livre");
for (var i = 0 ; i < livres.length ; i++) {
var srv = livres[i];
var NomsLivres = srv.nodeValue;
//La tu ajoutes les livres dans le SELECT
new_elem = new Option(name,i);
selbox.options[selbox.length] = new_elem;
}
}
}
} |
Notez que j'ai changer la variable
var nomLivres = srv.nodeValue;
par
var NomsLivres = srv.nodeValue;
Partager