Activer-désactiver une liste déroulante selon le bouton radio coché [Résolu]

Signaler
Messages postés
15
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
2 mai 2007
-
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014
-
Bonjour,

en fait je veux que selon le bouton radio coché, je veux faire apparaitre une liste déroulante. Le problème est que dès que je coche le second bouton radio, l'autre bouton radio reste coché. Voici mon code:

<script language="Javascript">
function LockUnlockElements() {
if (document.getElementById("nbre_rev1").checked) {
document.getElementById("rev1").style.visibility="visible";
document.getElementById("rev2").style.visibility="hidden";
}
else {
document.getElementById("rev1").style.visibility="hidden";
document.getElementById("rev2").style.visibility="visible";
}
}
</script>

<html>
<form>

1 rev
2 rev

<select id="rev1" name="rev1"><option selected></option></select>
<select id="rev2" name="rev2"><option selected></option></select>
</form>
<html>

3 réponses

Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,
mettre le même name sur les input radio.
( pas testé le script donné )
<hr />


Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
15
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
2 mai 2007

merci beaucoup.

par contre, quand on arrive sur la page, les 2 listes déroulantes sont visible malgré que le bouton radio nbre_rev1 soit coché
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

Bonjour

Le fait que le bouton radio nbre_rev1 soit coché quand on arrive sur la page n'exécute pas la fonction LockUnlockElements()  car elle n'est appelée que quand on clique sur le bouton. Il faut que tu force l'exécution au chargement :
 1 - en l'appellant dans un onload
 2 - ou bien en l'appellant dans ta déclaration de script :

1)
2 rev

2)
<script language="Javascript">
function LockUnlockElements() {
if (document.getElementById("nbre_rev1").checked) {
document.getElementById("rev1").style.visibility="visible";
document.getElementById("rev2").style.visibility="hidden";
}
else {
document.getElementById("rev1").style.visibility="hidden";
document.getElementById("rev2").style.visibility="visible";
}
}

LockUnlockElements();
</script>

Ou alors si c toujours la même liste qui doit être masquée au départ tu peux mettre
2 rev