En écrivant "var machin ...", tu déclares une nouvelle variable. Qui, éventuellement, en masque une autre si cette autre a le même nom. C'est normal que du coup, les variables déclarées en début de fonction ne voient pas leur valeur changées. Puisque ce ne sont pas elles qui sont modifiées !
En l'occurrence, tes variables sont très bien déclarées au début de ta fonction, donc si tu ne souhaites pas utiliser leur valeur ailleurs, inutile d'en faire des variables globales.
Et effectivement, tu as trouvé une autre erreur, qui n'est pas une erreur à la C, mais qui est une erreur lié au typage inexistant en JavaScript.
Bref, à mon avis, le code suivant devrait être meilleur:
Code :
- function verifcheck(elements) {
- var compteur = 0;
- var valeur = 0;
- for (var i = 0; i < elements.length; i++) {
- var e = elements[i];
- if (e.name == 'checkbox') {
- if (e.checked) {
- compteur++;
- }
- else {
- valeur++;
- }
- }
- }
- alert("compteur=" + compteur);
- alert("valeur=" + valeur);
- }
|
Et tu appelles ta fonction avec "document.forms[1].elements" en paramètre...
[edit]--Message édité par BifaceMcLeOD--[/edit]