J'ai cree une liste deroulante as 3 niveau pour un formulaire .
je voudrais suivant :
le choix de liste A
le liste B et liste C soit independante
le probleme chaque liste affiche les deux choix .....
voir le probleme : http://www.net-utyl.org/formulaire/test.php
Code : Tout sélectionner
<?
include("conf.php3");
$SQL="SELECT * FROM destination";
$result = mysql_query($SQL);
?>
<script language="JavaScript"><!--
liste=new Array()
liste[0]=new Array("vide !","")
liste[1]=new Array("vide !","")
<?
while ($val = mysql_fetch_array($result)) {
$SQL2 = "select titre from residence where destination = ";
$SQL2 .= $val["id"];
$result2 = mysql_query($SQL2);
$SQL_2 = "select titre from type where destination = ";
$SQL_2 .= $val["id"];
$result_2 = mysql_query($SQL_2);
?>
liste[<?echo $val["id"];?>]=new Array(<?
while ($val2 = mysql_fetch_array($result2))
echo "\"".$val2["titre"]."\",";
while ($val3 = mysql_fetch_array($result_2))
echo "\"".$val3["titre"]."\",";
?>"")
<?
}
?>
function changeliste()
{
choix=document.getElementById("listeA").value;
t='<select name="listeB" id="listeB">';
t2='<select name="listeC" id="listeC">';
for(i=0;i<liste[choix].length;i++)
{
t+="<option value=\""+liste[choix][i]+"\">"+liste[choix][i]+"</option>";
t2+="<option value=\""+liste[choix][i]+"\">"+liste[choix][i]+"</option>";
}
document.getElementById("listeB").outerHTML=t+'</select>';
document.getElementById("listeC").outerHTML=t2+'</select>';
}
--></script>
<Table>
<TR>
<TD><b>Destination du bien : </b></TD></TR>
<TR>
<TD><select name=listeA onchange=changeliste()><option value=0>Selectionnez</option>
<?
mysql_data_seek($result,0); // movefirst
while ($val = mysql_fetch_array($result)) {
?> <option value=<?echo $val["id"];?>> <?
echo $val["titre"];?></option>
<? }
?>
</TD>
</TR>
<TR>
<TD></select><BR><b>Résidence principale actuelle : </b></TD></TR>
<TR>
<TD><select name=listeB><option>Vide !</option></select></TD>
</TR>
<TR>
<TD><select name=listeC><option>Vide !</option></select></TD>
</TR>
</TABLE>