Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2574 connectés 

 


Dernière réponse
Sujet : je vois qu'il a des connaisseurs Javascript alors en profite
BifaceMcLeOD 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 :
  1. function verifcheck(elements) {
  2.     var compteur = 0;
  3.     var valeur   = 0;
  4.     for (var i = 0; i < elements.length; i++) {
  5.         var e = elements[i];
  6.         if (e.name == 'checkbox') {
  7.             if (e.checked) {
  8.                 compteur++;
  9.             }
  10.             else {
  11.                 valeur++;
  12.             }
  13.         }
  14.     }
  15.     alert("compteur=" + compteur);
  16.     alert("valeur="   + valeur);
  17. }


 
Et tu appelles ta fonction avec "document.forms[1].elements" en paramètre...

 

[edit]--Message édité par BifaceMcLeOD--[/edit]


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
BifaceMcLeOD 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 :
  1. function verifcheck(elements) {
  2.     var compteur = 0;
  3.     var valeur   = 0;
  4.     for (var i = 0; i < elements.length; i++) {
  5.         var e = elements[i];
  6.         if (e.name == 'checkbox') {
  7.             if (e.checked) {
  8.                 compteur++;
  9.             }
  10.             else {
  11.                 valeur++;
  12.             }
  13.         }
  14.     }
  15.     alert("compteur=" + compteur);
  16.     alert("valeur="   + valeur);
  17. }


 
Et tu appelles ta fonction avec "document.forms[1].elements" en paramètre...

 

[edit]--Message édité par BifaceMcLeOD--[/edit]

benou

duch a écrit a écrit :

 tu peux écrire compteur+=1 (c'est plus joli :D )




 
compteur++; c'est encore mieux ! :)

petoulachi Oui pardon je me suis emmelé. Il faut que tu les declare en dehors de la fonction, comme des variables globales
duch essaie, tu verras :D
petoulachi bin non, c pas super propre non plus de virer 'var'  :D  
Y vaut mieux que tu fasses tes declarations de variable dans le glossaire c a dire au debut de ta fonction.
duch 1. vire les "var"
2. tu peux écrire compteur+=1 (c'est plus joli :D )
grosmethos je viens de trouver encore une erreur à la C...
il faut pas mettre de ' devant le true ou le false juste true et false.............
grosmethos Voici la source de mon probleme (jeux de mots non??)
function verifcheck()
{var compteur=0;
var valeur=0;
   for (var i=0; i<document.forms[1].elements.length; i++)  
   {
    var e = document.forms[1].elements[i];
       
      if (e.name='checkbox')
     {        var etat =e.checked;
                  if (etat=='true')
                  {var compteur=compteur+1;}
                  else
                  {var valeur=valeur+1; }
     }
 
 }
alert("compteur="+compteur);
alert("valeur="+valeur);
}
je recupere 0 pour compteur et valeur...j'ai l'impression que mes variables ne sorte pas de la boucle.....

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)