Bonjour!
j'ai le problème classique, j'ai une liste déroulante avec un choix autre. Quand celui-ci est sélectionné je veux qu'une zone de texte
apparaisse. cela marche bien seulement quand j'ai sélectionné une fois autre et que la zone de texte est affichée, si je clique sur un autre choix,
la zone de texte ne s'efface pas!
Si vous voulez bien m'aider, merci
Voici mon code ;
et ma fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <tr> <td><label for="q6">6- Raison : </label></td> <td><select name="q6" id="q6" onchange="selectChange(this)"> <option value="1_choix1">1) choix1</option> <option value="2_choix2">2) choix2</option> <option value="q6_autre">3) Autre</option> </select></td> <td id="q6_autre" style="display: none;"> Précisez : <input type="text" name="q6_autre" /></td> </tr>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function selectChange(selected){ var val = selected.options[selected.selectedIndex].value; var reg = /^q\d+_autre$/; if (reg.exec(val)){ alert("ok"); document.getElementById(val).style.display = "block"; // j'ai testé avec "" et "block" } else{ alert("non"); document.getElementById(val).style.display = "none"; } }
Partager