Bonjour,
Je réalise un formulaire dans lequel l'utilisateur peut désactiver une partie du formulaire en décochant une case.
Par exemple s'il ne veut pas renseigner son sexe, il décoche la case qu'il faut et les champs qu'il avait à remplir avant deviennent grisés.
J'ai donc cette fonction JS :
Et une partie de mon code html :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function show_hide(element){ if (document.getElementById(element).disabled !=true) { document.getElementById(element).disabled = true; } else { document.getElementById(element).disabled = false; } }
Donc j'ai de nombreuses cases qui permettent d'activer ou désactiver un champ du formulaire sur ma page et au chargement, par défaut, tout est coché et donc tout est activé.
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 <div style="color:red"> <input type="checkbox" checked="checked" name="main_checkbox" onChange="show_hide('age_1');show_hide('age_rel1'); show_hide('age_rel11');show_hide('age_2');show_hide('age_rel2');show_hide('age_rel22')"> 1 - Age :</div> <br> <input type="checkbox" checked="checked" id="age_1" name="age_1" onchange="show_hide('age_rel1');show_hide('age_rel11')"> Inférieur à ... <select id="age_rel1" name="age_rel1"> <option>Inferieur</option> <option>Egal</option> <option>Superieur</option> </select>   à   <select id="age_rel11" name="age_rel11"> <option>4</option> <option>5</option> <option>6</option> </select>   ans. <br> <br> <input type="checkbox" checked="checked" id="age_2" name="age_2" onchange="show_hide('age_rel2');show_hide('age_rel22')"> De ... à ... De   <select id="age_rel2" name="age_rel2"> <option>4</option> <option>5</option> <option>6</option> </select>   à   <select id="age_rel22" name="age_rel22"> <?php echo $select_age;?>   ans.
Ca marche nickel sous Firefox mais sous IE6 ou 7 ça réagit aléatoirement !
C'est-à-dire que une fois ça va rien désactiver, une fois ça va désactiver complètement autre chose dans le formulaire. En fait, j'ai l'impression que sous IE la fonction JS est appelée avec un paramètre vraiment aléatoire. Des fois même quand je rafraichis la page sous IE ça décoche un truc.
Je ne sais pas si le problème vient de ma fonction JS ou si c'est mes id="xxx" qui ne vont pas m'enfin ça marche parfaitement sous Firefox...
Si vous avez une idée du pourquoi du comment, ça m'aiderait beaucoup
Merci d'avance.
Partager