Bonjour, je vais essayé d'être le plus claire possible:
J'ai une liste déroulante qui change en fonction de la valeur selectionnée dans une autre liste déroulante.
J'ai pour ce faire utiliser une fonction javascript que j'ai appeler changeliste().
1ere liste: listeA = liste de cancers
2ème liste : listeB = liste d'histologie correspondant au cancer choisi.(remarque : je n'ai pas la vraie liste de histologie, ne soyez pas etonné des aa, bb.....)
plusieurs cancers peuvent avoir la même histologie d'où les mêmes value pour les <option>
Voici mon code :
Colorez votre code PHP sur les forums grâce à Developpez.comCitation:
<?
session_start();
?>
<html><!--ouverture page html-->
******<head><!--ent-tête de la page html-->
************<title>PROLOG</title>
************<SCRIPT language=JavaScript><!--************
************listeHistologie = new Array();
************listeHistologie[1] = new Array("aa","bb","cc","dd","ee","ss","tt","uu");
************listeHistologie[2] = new Array("ff","gg","hh","ii","qq","rr","vv","ww");
************listeHistologie[3] = new Array("jj","kk","ll","mm","nn","oo","pp","xx","yy","zz");
************
************//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;
******************t='<select name="listeB" id="listeB">';**
******************for(i=0;i<listeHistologie[choix].length;i++) ******
******************{
******t+="<option value='"+listeHistologie[choix][i]+"'>"+listeHistologie[choix][i]+" </option>";************************
******************}
************************************************************************************document.getElementById("listeB_div").innerHTML=t+'</select>';
************}************
************--></SCRIPT>************
************
******</head>
******
<body><!--corps de la page html-->
<table width="800" border="2" align="center">
<tr><td><!--titre de la page-->
******<center><font face="tunga" size="5" color="#9932CC">Caractéristiques de la tumeur</font></center>
</td></table><br><br>******
<!--ouverture formulaire cancer-->
<form method='post' action='verifCancer.php5'><center><br>************************
************<FORM id='monform' method='post' action='verifCancer.php5' name='monform'>
************<!--table1-->
******<table width="800" border="1" align="center>
******<tr><td>
************<center><b>Localisation primitive :</b>  <A id=listeA_div>
******************<SELECT id=listeA onchange=changeliste() name=listeA>******************
******************<OPTION value=0 selected>autres</OPTION>
******************<OPTION value=2>colon</OPTION>
******************<OPTION value=1>cutanée</OPTION>
******************<OPTION value=3>estomac</OPTION>
******************<OPTION value=1>leucémie</OPTION>
******************<OPTION value=3>lymphome</OPTION>
******************<OPTION value=2>oesophage</OPTION>
******************<OPTION value=2>O.R.L</OPTION>
******************<OPTION value=3>pancréas</OPTION>
******************<OPTION value=3>poumon</OPTION>******
******************<OPTION value=2>prostate</OPTION> ******************
******************<OPTION value=3>rectum</OPTION>******************
******************<OPTION value=3>rein</OPTION>******************
******************<OPTION value=1>sein</OPTION> ******************
******************<OPTION value=3>thyroïde</OPTION>
******************<OPTION value=2>vessie</OPTION>******************
******************</SELECT><A><br><br>******
******************
************************
******<b>Histologie : </b><A id=listeB_div>
************<SELECT id=listeB name=listeB>
******************<OPTION selected>Histologie</OPTION>
************</SELECT></A></center>
******</td></tr></table><br><br> <!--fin table 1-->
******
******
******<!--table karnofsky -->
******<table width="800" border="2" align="center" cellpadding="5" cellspacing="5" bgcolor="#FFFFFF">
******<tr><td>
******<center><b>Indice de Karnofsky : </b>  <SELECT name='karnofsky' size='1'>
******************<OPTION value='0' <? if ($_SESSION['karnofsky']=='0') {print "selected";}?>>0
******************<OPTION value='10' <? if ($_SESSION['karnofsky']=='10') {print "selected";}?>>10
******************<OPTION value='20' <? if ($_SESSION['karnofsky']=='20') {print "selected";}?>>20
******************</SELECT>
******</center>
******</td></tr>
******</table><br><br><!--fin table karnofsky-->
******<input type='submit' value='valider'>******
************
</center></form><!--fin form cancer-->
</body>
</html>
la fonction changeliste() marche à merveille mais le problème:
J'ai une autre page de verification où j'affiche les valeurs choisies.
mon code:
Colorez votre code PHP sur les forums grâce à Developpez.comCitation:
<?
session_start();
if (ereg(".*/cancer.php5",$_SERVER['HTTP_REFERER']))
{
******$loca=$_POST['listeA'];
******$histo=$_POST['listeB'];
******$karnof=$_POST['karnofsky'];
******
******
******$_SESSION['loca']=$loca;
******$_SESSION['listeB']=$histo;******
******$_SESSION['karnofsky']=$karnof;
}
?>
<html><!--ouverture page html-->
<head>
<!--TITRE DE LA PAGE HTML-->
<title>Verification cancer</title>
</head>
<body>
<table width="800" border="2" align="center" cellpadding="5" cellspacing="5" bgcolor="#FFFFFF">
<tr>
******<td>
******<!--titre de la page-->
******<center><font face="tunga" size="5" color="#9932CC">Verification de la saisie des caractéristiques de la tumeur</font></center>************
******</td></table>
<br><br>
<!--table contenant les verifs -->
<table width="800" border="2" align="center" >
<tr><td><center>
<?
//verification localisation : pas de verif, affichage de ce qui a été selectionné
print ("Localisation primitive de la tumeur : <b>$loca</b><br><br>");******
//verif histologie : recupération du choix dans la liste deroulante
print ("Histologie de la tumeur : <b>$histo</b><br><br>");
//verif Indice de Karnofsky : n'importe quel caractere
print ("Indice de Karnofsky : <b>$karnof</b><br><br>");******
print ("<center><form action=\"insert.php5\" method=\"post\">
************<input type='submit' value='enregistrer'>");
?>
<!--fermeture du corps de la page html-->
</body>
<!--fermeture de la page html-->
</html>
il affiche alors évidemment les value pas le cancer selectionné.
Comment est-ce que je pourrai faire pour afficher le cancer, le texte entre les balises <option>?
Et comment est-ce qu'il faut faire pour garder ces valeurs sélectionnées dans les champs quand je revient dans la 1ere page.
J'ai laissé exprès un exemple pour la variable karnofsky qui se réaffiche dans ce dernier cas.
Merci de votre aide.