Bonjour à tous et en ce début d'année, tous mes vœux !

Voici ce qui m'amène :

Je ne comprends pas pourquoi le code ci-dessous ne fonctionne pas lorsque le nombre de cases à cocher dans le document est de 1. Lorsque le document ne contient qu'une case à cocher, on obtient undefined.

exemple qui fonctionne


exemple qui ne fonctionne pas



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
 
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">
 
 
			function MajLien()
			{
var cases_a_cocher_cb = document.mon_form.elements['check[]'];
var nombreCasesCochees=0;
alert ('total de cases à cocher '+cases_a_cocher_cb.length);
for (i=0;i<cases_a_cocher_cb.length;i++){
   if (cases_a_cocher_cb[i].checked) nombreCasesCochees++;
   }
alert('nombre de cases cochées : '+nombreCasesCochees);
			}
 
    </script>
  </head>
  <body>
    <form name="mon_form" action="" method="post" name="test" onsubmit="check(this);" >
      <input type="checkbox" name="check[]" onClick="MajLien()" value="1"/>1 <br />
      <input type="checkbox" name="check[]" onClick="MajLien()" value="2"/>2 <br />
      <input type="checkbox" name="check[]" onClick="MajLien()" value="3"/>3 <br />
      <input type="checkbox" name="check[]" onClick="MajLien()" value="4"/>4 <br />
      <input type="checkbox" name="check[]" onClick="MajLien()" value="5"/>5 <br />
      <input type="submit" name="btn" value="GO" />
    </form>
  </body>
</html>
Qui peut m'expliquer pourquoi ?

Par avance merci.

Bien à vous
Tavar