Actriver/Desactiver une listbox avec 3 boutons radio [Résolu]

Signaler
Messages postés
34
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
21 juillet 2011
-
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
Bonjour,

J'ai un soucis ! Mon projet est de réaliser une page dans la quelle il y a 3 bouton radio.

Ces boutons une fois activer affiche une liste box.

Le problème est la, j'arrive a activer et désactiver une liste mais les deux autres ne fonctionnent pas.

Voici ma fonction java :


<script language="Javascript">

function GereControle(Controleur, Controle, Masquer)

{

var objControleur = document.getElementById(Controleur);

var objControle = document.getElementById(Controle);

if (Masquer=='1')

objControle.style.visibility=(objControleur.checked==true)?'visible':'hidden';

else

objControle.disabled=(objControleur.checked==true)?false:true;

return true;

}

</script>


Voici le code html :






<label for="ls">Lower School </label>

<select id="p_ls" size="4">

<option>LS_LIB</option>

<option>LS_ROOM_236</option>

<option>LS_ROOM_243</option>

<option>LS_ROOM_317</option>

</select>







<label for="ms"> Middle School


</label>

<select size="7" id="p_ms">

<option>MS_ROOM_354</option>

<option>MS_ROOM_368</option>

<option>MS_LAB</option>

<option>MS_OFFICE</option>

<option>MS_ROOM_354</option>

<option>MS_ROOM_368</option>

<option>MS_TROLLEY</option>

</select>




<label for="ls">Upper School </label>

<select size="15" id="p_us">

<option>US_Library</option>

<option>US_ROOM_376</option>

<option>US_GUIDANCE</option>

<option>US_Lib</option>

<option>US_LIB_off</option>

<option>US_library</option>

<option>US_MATH_DPT</option>

<option>US_office</option>

<option>US_ROOM_378</option>

<option>US_ROOM_390</option>

<option>us_room_391</option>

<option>US_room_452</option>

<option>Us_room_516</option>

<option>US-Library</option>

<option>us-office</option>

</select>






j'aimerai aussi avoir par défaut lors de l'ouverture de la page juste les 3 boutons de visible.

Voila en espérant une réponse .

Amicalement Max.

6 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

    pas sûr de répondre réellement....

<script type="Text/Javascript">
function GereControle(Masquer)
{    for ( var n=0;n< document.toto.sel.length;n++ )
    {    document.toto.sel[n].style.visibility="hidden";    }
    document.getElementById(Masquer).style.visibility="visible";
}
</script>
....
<form name="toto">

<label for="ls">Lower School </label>
<select id="p_ls" size="4" name="sel"
        style="visibility:hidden" >
....

<label for="ms"> Middle School

</label>
<select size="7" id="p_ms" name="sel"
        style="visibility:hidden" >
...

<label for="ls">Upper School </label>
<select size="15" id="p_us" name="sel"
        style="visibility:hidden"  >
...
</form>

    mais tu nous diras....

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
en javascript on peut dire que "tout est array"
si dans un formulaire titi, tu as des champs qui ont le même name ( toto )
    document..titi.toto est un array, donc length, le nombre de postes.
ici donc on cache tous les slect ( name sel dans le formulaire toto ),
     pour ne réafficher que celui demandé
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
34
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
21 juillet 2011

Sa fonctionne ! maintenant je vais essayé de comprendre l'algo :)
Merci bcp !
Messages postés
34
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
21 juillet 2011

Serait tu m'expliquer si se n'est pas trop demandé t'as boucle for

for ( var n=0;n< document.toto.sel.length;n++ )
    {   
    document.toto.sel[n].style.visibility="hidden";   
    }
    document.getElementById(Masquer).style.visibility="visible";
}

Surtout le document.toto.sel.length.
Messages postés
34
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
21 juillet 2011

Oki merci bien :)
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
35
Salut bultez et nodoka,

@nodoka : si les réponses de bultez t'on aidés tu peus utiliser le réponse accèpté...

a++

Si la réponse vous convient, pensez : Réponse accepté !