Bonjour à tous.
Je me suis inspiré d'un bout de code trouvé dans la FAQ pour créer cette magnifique fonction :
Le contenu de mon <form id="MonForm" name="MonForm" action=""> est généré par de l'ASP et ne contient que des checkbox ayant tous un id et name uniques.
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 function valider() { var inputList = document.forms['MonForm'].elements; var alertTxt = ''; var alertTxt2 = ''; var compteur = 0; var c = 0; for (unInput in inputList){ compteur++; alertTxt2 += compteur + ' : ' + unInput.checked + '\n'; if(unInput.checked){ c++; alertTxt += unInput.name + '\n'; } } // End For alertTxt += c + ' checked sur ' + compteur + '\n'; alert(alertTxt); alert(alertTxt2); }
La fonction est appelée par l'appui sur un <button onclick="valider()"> lorsque l'utilisateur a fini de chocher les checkbox qu'il veut.
Lorsque la fonction est appelée, ma boucle for est bien exécutée autant de fois que j'ai de checkbox dans mon formulaire, puisque mon alert(alertTxt); m'affiche bien le bon nombre d'input parcourus.
Le problème est que dans le for, mon unInput.checked (ainsi que des unInput.name et unInput.id que j'ai testé) renvoit "undefined".
Pourquoi mon unInput.checked ne renvoit-il pas "true" ou "false" ou "0" ou "1" ou "on" ou que sais-je ?
Qu'ai-je mal fait ?
Merci pour votre aide.
Partager