Bonjour,

J'ai un problème entre HTML5 et Javascript.
J'ai deux select/option qui se suivent et s'influencent. :
- le premier de trois éléments me donne le choix sur trois tableaux différents et de nombre d'élément eux aussi différents.
- le second est donc déduit du premier et me donne le choix sur des liste de 6 ou 5 éléments.

Si je choisis "armes_de_guerre", la seconde liste me donne 5 choix.
Je change et choisis "armes_courantes", la seconde liste me donne 6 choix.
Je rechange et choisis "armes_exotiques", la seconde liste me donne 6 choix au lieu des 5 attendus. En faite c'est le 6ème choix de "armes_de_guerre" qui s'incruste.

Comment faire pour l'enlever ?


HTML
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<h2 id="label_famille_arme_I">FAMILLE</h2> 
<h2 id="label_famille_arme_b_I">D'ARME</h2> 
<select id="famille_arme_I" name="famille_arme" onChange="choixFamilleArme()">
    <option></option>
    <option value="armes_courantes">Armes courantes</option>
    <option value="armes_de_guerre">Arme de guerre</option>
    <option value="armes_exotiques">Arme exotiques</option>
</select>
<h2 id="label_maniement_arme_I">MANIEMENT</h2> 
<select id="maniement_arme_I" name="maniement_arme" onChange="choixManiementArme()"></select>


Javascript
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
function choixFamilleArme() {
    var armes_courantes = new Array();
    var armes_de_guerre = new Array();
    var armes_exotiques = new Array();
    armes_courantes = ["","Combat à mains nues","Armes légères","Armes à une main","Armes à deux mains","Armes à distante"];
    armes_de_guerre = ["","Armes légères","Armes à une main","Armes à deux mains","Armes à distante"];
    armes_exotiques = ["","Armes légères","Armes à une main","Armes à deux mains","Armes à distante"];
    switch(document.form.famille_arme_I.value) {
	case "armes_courantes" :
		for (var nombElement = 0; nombElement < armes_courantes.length; nombElement++) {
			document.form.maniement_arme_I.options[nombElement] = 
                        new option(armes_courantes[nombElement],armes_courantes[nombElement]);
		};
		break;
	case "armes_de_guerre" :
		for (var nombElement = 0; nombElement < armes_de_guerre.length; nombElement++) {
			document.form.maniement_arme_I.options[nombElement] = 
                        new Option(armes_de_guerre[nombElement],armes_de_guerre[nombElement]);
		};
		break;
	case "armes_exotiques" :
		for (var nombElement = 0; nombElement < armes_exotiques.length; nombElement++) {
			document.form.maniement_arme_I.options[nombElement] = 
                        new Option(armes_exotiques[nombElement],armes_exotiques[nombElement]);
		};
		break;
	}
}
J'attends votre aide.