[js et php] réaffichage d'une liste déroulante
J'ai 2 listes déroulantes. La deuxieme change en fonction de ce qu'on a selectionné dans la premiere. Jusque là tout va bien.
Puis je vais sur une autre page en gardant dans session les variables selectionnées dans les deux listes déroulante.
L'utilisateur peut revenir sur la page des 2 listes pour verifier et corriger les selections. Je réaffiche alors ce qui ont été selectionnées.
Mon problèmes est que je n'ai plus que la la variable selectionnée dans la deuxieme liste deroulante, et non toute la liste. Ce qui est normale parce qu'elle ne s'affiche qu'à l'évenement onChange sur la premiere liste déroulante.
Comment pourrais-je faire pour garder cette 2eme liste deroulante quand je revient sur cette page?
Code:
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
|
<head><!--ent-tête de la page html-->
<title>PROLOG</title>
<SCRIPT language=JavaScript><!--
listeHistologie = new Array();
listeHistologie[0] = new Array("X");
listeHistologie[1] = new Array("ne sait pas","carcinome épidermoïde ou malpighien");
listeHistologie[2] = new Array("ne sait pas","Adénocarcinome lieberkuhnien","Tumeur villeuse");
listeHistologie[3] = new Array("ne sait pas","Adénocarcinome lieberkuhnien","Tumeur villeuse");
(...............)
//fonction qui change la liste déroulante listeB(histologie) en fonction de la selection dans la liste déroulante listeA(localisation primitive)
function changeliste()
{
choix=document.getElementById("listeA").value; //la value de la localisation primitive choisie (clef de listeCancer)
t='<select name="listeB" id="listeB">'; //ouverture de la balise <select> avec ses attributs
for(i=0;i<listeHistologie[choix].length;i++) //pour (i= 0; i<longueur du tableu listeHistologie[value du Cancer choisie]; i++)
{
//rajout après <select> des options avec la valeur i du tableau listeHistologie[choix]
///////ATTENTION : la séléction n'est pas réaffiché quand on revient dans cette page.////////////////////
t+="<option value='"+listeHistologie[choix][i]+"'>"+listeHistologie[choix][i]+"</option>";
}
//change le contenu de la balise <A> de id=listeB_div en t et fermeture de la balise <select>
document.getElementById("listeB_div").innerHTML=t+'</select>';
}
--></SCRIPT>
</head>
<body><!--corps de la page html-->
<b>Localisation primitive :</b>  <A id=listeA_div>
<SELECT id=listeA onchange=changeliste() onClick=acceschamp() name=listeA>
<option value=0 <? if ($_SESSION['loca']=='0') {print "selected";}?> selected>autres</option>
<option value=1 <? if ($_SESSION['loca']=='1') {print "selected";}?>>cavité buccale/lèvres</option>
<option value=2 <? if ($_SESSION['loca']=='2') {print "selected";}?>>colon bilatéral</option>
<option value=3 <? if ($_SESSION['loca']=='3') {print "selected";}?>>colon droit</option>
<option value=4 <? if ($_SESSION['loca']=='4') {print "selected";}?>>colon gauche</option>
(.....)
</SELECT><A>
<b>Histologie : </b><A id=listeB_div>
<SELECT id=listeB name=listeB>
<option><? if ($rappel!='X') print($rappel);?></option>
<OPTION value=X >Histologie</OPTION>
</SELECT></A></center> |