Bonjour � tous,
Pour l'objet de mon stage, je dois r�aliser un formulaire �voluant dynamiquement de mani�re � ce que si le premier champ correspond � telles valeurs, le second en dessous proposent telles valeurs etc... Quand un champ est pr�d�termin� par un seul champ, pas de soucis. Le probl�me est quand il est d�termin� par plusieurs champs, cela fait des heures que je cherche l'erreur dans le code, et je ne trouve pas, donc je d�sesp�re r�ellement. Aussi je suis novice en Javascript, � vrai dire j'ai commenc� hier:
Le html d'abord :
Code html : 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 <label for="ordre">Ordre :</label><br /> <select id="ordre"> <option selected>Sélectionnez l'ordre</option> <option value="CREATION">CREATION</option> <option value="MODIF">MODIF</option> <option value="RESIL">RESIL</option> </select><br/ ><br /> <label for="typerac">Type de raccordement :</label><br /> <select id="typerac" hidden></select><br/ ><br /> <label for="typedegroup">Type de dégroupage :</label><br /> <select id="typedegroup" hidden></select><br/ ><br /> <label for="techno">Technologie :</label><br /> <select id="techno"> <option selected>Sélectionnez la technologie</option> <option value="DSL1">DSL1</option> <option value="DSL2">DSL2</option> <option value="RAD1">RAD1</option> <option value="FO">FO</option> <option value="BPE">BPE</option>
La fonction posant probl�me est details3 avec les instructions la pr�c�dant, c'est � dire l'affectation � statut.hidden, car le reste fonctionne si on commente toute cette partie. Je tiens � pr�ciser que je pr�f�re travailler avec des values et non des text car tout ceci � vocation � �tre traiter avec du PHP par la suite. Voil� si vous pouviez m'aider � chercher l'erreur, �a serait tr�s sympa.
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 var ordre = document.getElementById('ordre'), techno = document.getElementById('techno'), typedegroup = document.getElementById('typedegroup'); ordre.addEventListener('change', function() { typerac.hidden = !(typerac.innerHTML = details(ordre.options[ordre.selectedIndex].text)); }, true); function details(ordre){ if (ordre == 'CREATION'){ return '<option>Sélectionnez le type de raccordement</option>' + '<option value="TL"> TL </option>' + '<option value="RD"> RD </option>' ; } } ordre.addEventListener('change', function() { typedegroup.hidden = !(typedegroup.innerHTML = details2(ordre.options[ordre.selectedIndex].value)); }, true); function details2(ordre){ if (ordre == 'CREATION'){ return '<option>Sélectionnez le type de dégroupage</option>' + '<option value="PARTAGE"> PARTAGE </option>' + '<option value="TOTAL"> TOTAL </option>' + '<option value="RADIO"> RADIO </option>'; } } techno.addEventListener('change', function() { statut.hidden = !(statut.innerHTML = details3(ordre.options[ordre.selectedIndex].value,techno.options[techno.selectedIndex].value); }, true); function details3(ordre,techno){ if(ordre == 'CREATION' && techno == 'DSL1) { return '<option>Sélectionnez le statut de raccordement</option>' + '<option> A </option>'; } else if(ordre == 'CREATION' && techno == 'DSL2') { return '<option>Sélectionnez le statut de raccordement</option>' + '<option> A </option>' + '<option> I </option>' + '<option> R </option>' + '<option> C </option>'; } else if(ordre == 'CREATION' && techno == 'RAD1') { return '<option>Sélectionnez le statut de raccordement</option>' + '<option> R </option>' + '<option> I </option>' + '<option> A </option>'; } }
Merci d'avance.








:
R�pondre avec citation



Partager