Bonjour,
Je voulais faire un truc tout con, une checkbox permettant de cocher plusieurs checkbox d'un coup. Tout marche très bien, mais je me suis retrouvé face à un problème.
IE arrête de parcourir les éléments lorsqu'il renconter une balise de type formulaire. Comment faire pour le forcer à continuer ? A noter que la procédure marche très bien sous Firefox.
Mon code est ce qu'il y a de plus simple :
- une checkbox principale permettant un checkall
- deux checkbox de choix
Si quelqu'un a une idée, je m'arrache les cheveux dessus...
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 <html> <head> <script type="text/javascript"> function checkDelBoxes(pId, pName, pState) { var cur = document.getElementById(pId).firstChild; while (cur != null) { if (cur.nodeName == 'INPUT') if (cur.getAttribute('type') == 'checkbox' && cur.name == pName) cur.checked = pState; cur = cur.nextSibling; } } //--> </script> </head> <body> <form method="get" action=""> <input type="checkbox" onClick="checkDelBoxes('div_chck', 'checkgroup', this.checked);" id="checkbox0" /><label for="checkbox1">All</label><br /> <br /><br /> <div id="div_chck"> <input type="checkbox" name="checkgroup" id="checkbox1" /><label for="checkbox1">Choix 1</label><br /> <form id="test_form" method="get" action="">plop</form> <input type="checkbox" name="checkgroup" id="checkbox2" /><label for="checkbox2">Choix 2</label><br /> </div> </form> </body> </html>
J'ai aussi essayé de parcourir avec les names des éléments, mais IE bloque exactement au même endroit :
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <script type="text/javascript"> function checkDelBoxes(pForm, boxName, state) { for (i = 0; i < pForm.elements.length; i++) if (pForm.elements[i].name == boxName) pForm.elements[i].checked = state; } </script>
Partager