J'ai créer des listes déroulantes liées mais je n'arrive pas à récupérer la seconde valeur.
Voici mon code :
<form name="formulaire" action="" method="">
<?php
echo "Filter";
$option1="option1";
$option2="option2";
?>
<label for="<?php echo $option1;?>"></label>
<select onchange='afficheoption2(<?php echo $idproject;?>,<?php echo $option1;?>,<?php echo $option2;?>)' name='<?php echo $option1;?>' id='<?php echo $option1;?>' >
<OPTION value="cluster">Cluster</OPTION>
<OPTION value="BHR">BHR</OPTION>
<OPTION value="feature">Feature</OPTION>
<OPTION value="specie">Specie</OPTION>
<OPTION value="gene">Protein</OPTION>
</select>
<label for="<?php echo $option2;?>"></label>
<span name='<?php echo $option2;?>' id=" <?php echo $option2;?>">
<!-- Seconde liste deroulante-->
</span>
<div class="buttons">
<input type="hidden" name="user_defined_number_of_filters" value="<?php echo $user_defined_number_of_filters;?>"></input>
<input type="hidden" name="idparameters" value="<?php echo $idparameters;?>"></input>
<input type="hidden" name="idproject" value="<?php echo $idproject;?>"></input>
<button typ="submit" value="Add a Filter" class="btn" onclick="Javascript: window.location.replace('omg_add_or_delete_filter.php?user_defined_number_of_filters=<?php echo $user_defined_number_of_filters;?>¶m=Add_a_Filter&idparameters=<?php echo $idparameters;?>&idproject=<?php echo $idproject;?>)"><img src="img/add.emf">Add a Filter</button>
<button typ="submit" value="Delete the last Filter" class="btn" onclick="Javascript: window.location.replace('omg_add_or_delete_filter.php?user_defined_number_of_filters=<?php echo $user_defined_number_of_filters;?>¶m=Delete_the_last_Filter&idparameters=<?php echo $idparameters;?>&idproject=<?php echo $idproject;?>')"><img src="img/del.emf">Delete the last Filter</button>
</div>
</form>
Le code javascript est le suivant :
Code : Tout sélectionner
<script type="text/JavaScript">
function getXmlHttpRequest()
{
if(window.XMLHttpRequest)
{
xhr = new XMLHttpRequest();
}else if(window.ActiveXObject)
{
try{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}else{
alert("Votre navigateur ne supporte pas l'object MLHTTPRequest!");
xhr = false;
}
}
function afficheoption2(id,a,b)
{
getXmlHttpRequest();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
menu = xhr.responseText;
document.getElementById(b.id).innerHTML = menu;
}
}
xhr.open("POST","omg_select_queries.php?idproject="+eval(id),true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
selection = document.getElementById(a.id);
idoption1 = selection.options[selection.selectedIndex].value;
xhr.send("idoption1="+idoption1);
}
</script>if(isset($_POST["idoption1"]) and $_POST["idoption1"]=="specie")
{
echo "<select name='option2'>";
$query="SELECT *
FROM $database.specie,$database.specie_has_project
WHERE $database.specie_has_project.project_idproject=$idproject
";
$queryresult = pg_query($query);
while($row = pg_fetch_row($queryresult))
{
echo "<option value='".$row[0]."'>".$row[2]." ".$row[1]." ".$row[3]." ".$row[4]."</option>";
}
echo "</select>";
}
Voila pour le code.Je travaille sous PHP5, IE et PostgreSQL.
C'est pour l'option2 que je n'arrive pas à obtenir la valeur.
Merci pour votre aide