ramdamriddim | Bonjour à tous je post car j'ai un probleme avec les listes liées en ajax. En effet j'ai lu et appliqué le tutoriel : http://siddh.developpez.com/articles/ajax/#LIV-A concernant 2 listes liées cependant je n'arrive pas à en lié plus que 2 ce qui est un peu embetant, rien ne s'affiche dans la troisieme liste, le code etant pourtant le meme . Quelqu'un aurait donc une methode générique pour ce genr d'application? mon code :
index
Citation :
<form>
<fieldset style="width:500px;">
<legend>Liste Liée</legend>
<label>Auteurs</label>
<select name='auteur' id='auteur' onChange="javascript:go();">
<option value='-1'>Aucun</option>
<?php mysql_connect("localhost","root","root" );
mysql_select_db("livre" );
$res=mysql_query("SELECT * FROM auteur ORDER BY nom" );
while($row=mysql_fetch_assoc($res)){
echo "<option value='".$row["id"]."'>".$row["nom"]."</option>";
}
?>
</select>
<label>Livres</label>
<div id='livre' style='display:inline'>
<select name='livre'>
<option value='-1'>Choisir un livre</option>
</select>
</div>
<label>Pages</label>
<div id='page' style='display:inline'>
<select name='page'>
</select>
</div>
</fieldset>
</form>
|
js
Citation :
function go(){
var xhr=getXhr();
xhr.onreadystatechange=function(){
if(xhr.readyState == 4 && xhr.status==200){
leselect=xhr.responseText;
document.getElementById('livre').innerHTML=leselect;
}
}
xhr.open("POST","ajaxLivre.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
sel=document.getElementById('auteur');
idauteur=sel.options[sel.selectedIndex].value;
xhr.send("idAuteur="+idauteur);
} function go2(){
var xhr=getXhr();
xhr.onreadystatechange=function(){
if(xhr.readyState == 4 && xhr.status==200){
leselect=xhr.responseText;
document.getElementById('page').innerHTML=leselect;
}
}
xhr.open("POST","ajaxLivre2.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
sel=document.getElementById('livre');
_idLivre=sel.options[sel.selectedIndex].value;
xhr.send("_idLivre="+_idLivre);
}
|
ajaxLivre
Citation :
<?php
echo "<select name='livre' id='livre' onChange='javascript:go2();'>";
if(isset($_POST['idAuteur'])){
mysql_connect("localhost","root","root" );
mysql_select_db("livre" );
$res=mysql_query("SELECT idLivre,titre FROM livre WHERE idAuteur='".$_POST['idAuteur']."' ORDER BY titre" );
while($row=mysql_fetch_array($res)){
echo "<label>".$row["idLivre"]."</label>";
echo "<option value='".$row["idLivre"]."'>".$row["titre"]."</option>";
}
}
echo "</select>";
?>
|
ajaxLivre2
Citation :
<?php
echo "cool";
echo "<select name='page'>";
if(isset($_POST['_idLivre'])){
mysql_connect("localhost","root","root" );
mysql_select_db("livre" );
echo "cool";
$res=mysql_query("SELECT idPage,nombre FROM page WHERE _idLivre='".$_POST['_idLivre']."'" );
while($row=mysql_fetch_assoc($res)){
echo "<option value='".$row["idPage"]."'>".$row["nombre"]."</option>";
}
}
echo "</select>";
?>
|
Help please |