Bonjours!
Je travaille depuis peu sur un bout de code, lequel ne fait pas ce que je veut.
Voici le bout de code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 <script type="text/javascript"> function showhide(divid){ var div101 = document.getElementById("div101"); var div102 = document.getElementById("div102"); var div103 = document.getElementById("div103"); if(divid== 'div101' ) { div101.style.display = 'block'; div102.style.display = 'none'; div103.style.display = 'none'; } else if(divid== 'div102' ) { div101.style.display = 'none'; div102.style.display = 'none'; div103.style.display = 'none'; } else if(divid== 'div103' ) { div101.style.display = 'none'; div102.style.display = 'none'; div103.style.display = 'block'; } else { div101.style.display = 'none'; div102.style.display = 'none'; div103.style.display = 'none'; } } </script> <br> Action 1: <select name='action1' id="divid" onChange="showhide(this.value)"> <option value='0'>Commun</option> <option value='div101' >---coup normal</option> <option value='div102' >---ne rien faire</option> <option value='div103' >---Technique personalisée</option> </select> <div id='div101' style="display:none;"> Votre niveau en maîtrise du sabre: <select name="maitrise_du_sabre1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> </div> <div id='div103' style="display:none;"> Définissez votre technique: nom:<input type="text" name="nom1"> dégats infligés:<input type="text" value="0" name="degats_perso1"> soins:<input type="text" value="0" name="soins_perso1"> protection: <input type="text" value="0" name="prot_perso1"> coût:<input type="text" value="0" name="cout_perso1"> <br>(remplissez uniquement les valeurs selon l'effet de votre technique). </div>
Le but, vous l'aurez compris, est de masquer/afficher des menus déroulants secondaires en fonction de l'option sélectionnée dans le premier menu.
PS: il est voulu que la 'div102' n'existe pas car lorsque cette valeur est choisie, rien n'est censé s'afficher.
Problème: je suppose que ce sera plus clair si je met des images.
Voilà ce que donne le code:
Quand rien n'est sélectionné, rien ne s'affiche. Normal, jusque-là.
lorsqu'on sélectionne l'option 'div101', la div101 s'affiche comme prévu mais la div103 s'affiche également, alors qu'elle devrait être masquée.
NB: si on sélectionne 'div102', rien ne s'affiche comme prévue. Cette variable ne conduis pas à un autre sous-menu déroulant.
Si on sélectionne la 'div103', rien ne s'affiche alors que la div103 devrait s'afficher.
J'avoue avoir beau relu et relu mon code, je n'y trouve pas d'erreur. Peut-être pourrez-vous m'éclairer?
Partager