par
AB » 24 sept. 2010, 18:34
Ben à plusieurs endroits
Dans ton code il manque précisément ce qui cache les "select" à savoir la feuille de style intégrée qu'il faut mettre entre les balises <head> et </head>.
Et puis un id ne doit pas commencer par un chiffre, j'ai donc rajouté arbitrairement un "s" devant chacun d'entre eux.
Par ailleurs, la class indiquée dans les boutons radio doit correspondre à l'id du plus proche élément encadrant tes select, donc dans ton cas le bloc <p> ayant l'id = "select"
Et pour terminer ton code html était

On emploie les tables uniquement pour formater des données tabulaires. En plus elles n'étaient pas correctement écrites.
Ci-dessous un code un peu plus dans les normes :
<?php
if (isset($_POST["envoyer"]))
{
//Région
print_r('sélection = ' .$_POST["rep_2_22"]);
}
?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--
function Affiche_liste(id_form,id_select)
{
var form_id = document.getElementById(id_form);
var form_select = document.getElementById(id_select);
if(form_id && form_select)
{
var tab = new Array();
//cherche les balises select inlues dans l'id id_form (= form_profil dans cet exemple)
tab = form_id.getElementsByTagName('select');
for (i=0; i < tab.length; i++)
{
/* on regarde si l'id est celui qu'on recherche */
if (tab[i].id == id_select)
{
// Met le select en disable à false et le fait afficher
tab[i].disabled = false;
tab[i].style.display = 'inline';
}
else
{
// Met le select en disable à true et le cache
tab[i].disabled = true;
tab[i].style.display = 'none';
}
}
// Affiche le formulaire
form_id.style.display = "block";
}
}
-->
</script>
<style type="text/css">
#formulaire {
font-size:0.8em;
font-family:Arial, Helvetica, sans-serif;
}
#formulaire p {
margin :0;
padding :0;
}
#formulaire #select {
position:static;
display:none;
}
#formulaire .titre {
background:#CCCCCC;
font-weight:bold;
width:650px;
margin-bottom:10px;
margin-top:10px;
}
#formulaire #envoyer {
position:absolute;
left:150px;
}
</style>
</head>
<body>
<div id = "formulaire">
<form action = "#" method = "post" id = "form_profil" >
<p class = "titre">
1- Parmi les sites suivants, cochez votre lieu de travail principal (une seule réponse possible)
</p>
<p>
<input name = "rep_1_1" type='radio' value='s4' class = "select" onclick = "Affiche_liste(this.className,this.value)">Services Centraux
<br />
<input name = "rep_1_1" type='radio' value='s3' class = "select" onclick = "Affiche_liste(this.className,this.value)">Campus Moulins (Droit - FFBC - SCD Droit)
<br />
<input name = "rep_1_1" type='radio' value='s2' class = "select" onclick = "Affiche_liste(this.className,this.value)">FSSEP - SUAPS
<br />
<input name = "rep_1_1" type='radio' value='s1' class = "select" onclick = "Affiche_liste(this.className,this.value)">Médecine Pôle Formation - ILIS - SCD Santé - ILIS
<br />
<input name = "rep_1_1" type='radio' value='s0' class = "select" onclick = "Affiche_liste(this.className,this.value)">Pharmacie - SCFP - Chirurgie Dentaire - Médecine Pôle Recherche - ICPAL
<br />
</p>
<p class = "titre">
Si oui
</p>
<p id = "select">
<select name='rep_2_22' id="s4" size='1'>
<option>Choisissez</option>
<option value='Citadine 1'>Citadine 1</option>
<option value='Liane 1'>Liane 1</option>
<option value='Ligne 13'>Ligne 13</option>
</select>
<select name='rep_2_22' id="s3" size='1'>
<option>Choisissez</option>
<option value='Ligne 202'>Ligne 202</option>
<option value='Ligne 206'>Ligne 206</option>
<option value='Ligne 209'>Ligne 209</option>
<option value='Ligne 221'>Ligne 221</option>
<option value='Ligne 17'>Ligne 17</option>
<option value='Ligne 7'>Ligne 7</option>
<option value='Liane 1'>Liane 1</option>
</select>
<select name='rep_2_22' id="s2" size='1'>
<option>Choisissez</option>
<option value='Ligne 221'>Ligne 221</option>
<option value='Liane 1'>Liane 1</option>
<option value='Ligne 15'>Ligne 15</option>
</select>
<select name='rep_2_22' id="s1" size='1'>
<option>Choisissez</option>
<option value='Liane 2'>Liane 2</option>
<option value='Liane 58'>Liane 58</option>
<option value='Ligne 63'>Ligne 63</option>
<option value='Ligne 229'>Ligne 229</option>
<option value='Ligne 232'>Ligne 232</option>
</select>
<select name='rep_2_22' id="s0" size='1'>
<option>Choisissez</option>
<option value='Ligne 63'>Ligne 63</option>
<option value='Ligne 64'>Ligne 64</option>
<option value='Liane 2'>Liane 2</option>
<option value='Ligne 13'>Ligne 13</option>
<option value='Ligne 58'>Ligne 58</option>
</select>
<input name = "envoyer" value = "envoyer" id = "envoyer" type = "submit"/>
</p>
</form>
</div>
</body>
</html>
Ben à plusieurs endroits :wink:
Dans ton code il manque précisément ce qui cache les "select" à savoir la feuille de style intégrée qu'il faut mettre entre les balises <head> et </head>.
Et puis un id ne doit pas commencer par un chiffre, j'ai donc rajouté arbitrairement un "s" devant chacun d'entre eux.
Par ailleurs, la class indiquée dans les boutons radio doit correspondre à l'id du plus proche élément encadrant tes select, donc dans ton cas le bloc <p> ayant l'id = "select"
Et pour terminer ton code html était :x On emploie les tables uniquement pour formater des données tabulaires. En plus elles n'étaient pas correctement écrites.
Ci-dessous un code un peu plus dans les normes :
[php]<?php
if (isset($_POST["envoyer"]))
{
//Région
print_r('sélection = ' .$_POST["rep_2_22"]);
}
?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--
function Affiche_liste(id_form,id_select)
{
var form_id = document.getElementById(id_form);
var form_select = document.getElementById(id_select);
if(form_id && form_select)
{
var tab = new Array();
//cherche les balises select inlues dans l'id id_form (= form_profil dans cet exemple)
tab = form_id.getElementsByTagName('select');
for (i=0; i < tab.length; i++)
{
/* on regarde si l'id est celui qu'on recherche */
if (tab[i].id == id_select)
{
// Met le select en disable à false et le fait afficher
tab[i].disabled = false;
tab[i].style.display = 'inline';
}
else
{
// Met le select en disable à true et le cache
tab[i].disabled = true;
tab[i].style.display = 'none';
}
}
// Affiche le formulaire
form_id.style.display = "block";
}
}
-->
</script>
<style type="text/css">
#formulaire {
font-size:0.8em;
font-family:Arial, Helvetica, sans-serif;
}
#formulaire p {
margin :0;
padding :0;
}
#formulaire #select {
position:static;
display:none;
}
#formulaire .titre {
background:#CCCCCC;
font-weight:bold;
width:650px;
margin-bottom:10px;
margin-top:10px;
}
#formulaire #envoyer {
position:absolute;
left:150px;
}
</style>
</head>
<body>
<div id = "formulaire">
<form action = "#" method = "post" id = "form_profil" >
<p class = "titre">
1- Parmi les sites suivants, cochez votre lieu de travail principal (une seule réponse possible)
</p>
<p>
<input name = "rep_1_1" type='radio' value='s4' class = "select" onclick = "Affiche_liste(this.className,this.value)">Services Centraux
<br />
<input name = "rep_1_1" type='radio' value='s3' class = "select" onclick = "Affiche_liste(this.className,this.value)">Campus Moulins (Droit - FFBC - SCD Droit)
<br />
<input name = "rep_1_1" type='radio' value='s2' class = "select" onclick = "Affiche_liste(this.className,this.value)">FSSEP - SUAPS
<br />
<input name = "rep_1_1" type='radio' value='s1' class = "select" onclick = "Affiche_liste(this.className,this.value)">Médecine Pôle Formation - ILIS - SCD Santé - ILIS
<br />
<input name = "rep_1_1" type='radio' value='s0' class = "select" onclick = "Affiche_liste(this.className,this.value)">Pharmacie - SCFP - Chirurgie Dentaire - Médecine Pôle Recherche - ICPAL
<br />
</p>
<p class = "titre">
Si oui
</p>
<p id = "select">
<select name='rep_2_22' id="s4" size='1'>
<option>Choisissez</option>
<option value='Citadine 1'>Citadine 1</option>
<option value='Liane 1'>Liane 1</option>
<option value='Ligne 13'>Ligne 13</option>
</select>
<select name='rep_2_22' id="s3" size='1'>
<option>Choisissez</option>
<option value='Ligne 202'>Ligne 202</option>
<option value='Ligne 206'>Ligne 206</option>
<option value='Ligne 209'>Ligne 209</option>
<option value='Ligne 221'>Ligne 221</option>
<option value='Ligne 17'>Ligne 17</option>
<option value='Ligne 7'>Ligne 7</option>
<option value='Liane 1'>Liane 1</option>
</select>
<select name='rep_2_22' id="s2" size='1'>
<option>Choisissez</option>
<option value='Ligne 221'>Ligne 221</option>
<option value='Liane 1'>Liane 1</option>
<option value='Ligne 15'>Ligne 15</option>
</select>
<select name='rep_2_22' id="s1" size='1'>
<option>Choisissez</option>
<option value='Liane 2'>Liane 2</option>
<option value='Liane 58'>Liane 58</option>
<option value='Ligne 63'>Ligne 63</option>
<option value='Ligne 229'>Ligne 229</option>
<option value='Ligne 232'>Ligne 232</option>
</select>
<select name='rep_2_22' id="s0" size='1'>
<option>Choisissez</option>
<option value='Ligne 63'>Ligne 63</option>
<option value='Ligne 64'>Ligne 64</option>
<option value='Liane 2'>Liane 2</option>
<option value='Ligne 13'>Ligne 13</option>
<option value='Ligne 58'>Ligne 58</option>
</select>
<input name = "envoyer" value = "envoyer" id = "envoyer" type = "submit"/>
</p>
</form>
</div>
</body>
</html>[/php]