IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

pb boucle for


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut pb boucle for
    Bonjour,

    Dans la boucle "for" qui se trouve dans le code suivant, celle ci n'est pas réexécutée après l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval(tab[cpt] + ".style.backgroundColor = \"#FFFFFF\"");
    . L'instruction est exécutée, puis ça sort de ma boucle. Avant l'instruction, j'ai contrôlé mon "cpt" qui est bien à "0". Mais lorsque je mets un "alert()" après l'instruction, il ne s'affiche pas. Quelqu'un peut-il m'aider. Merci d'avance.

    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
    32
    33
    34
    35
    36
    function verifTout()//vérification de tous les champs du formulaire
    {
     var cpt = 0;
     var tab = new Array("document.commentaire.prenom.value","document.commentaire.nom.value");
     var index = 0;
     var chaine = "";
     var chaineEl = "";
     for(cpt; cpt < tab.length; cpt++)
      {
       if(verifChaine(eval(tab[cpt]))==1)
       {
        chaineEl1 = tab[cpt];
    	index = chaineEl1.indexOf("value");
    	chaine = tab[cpt].substring(0,(index - 1));
    	eval(chaine + ".style.backgroundColor = \"#F3C200\"");
        return (false);
       }
       else
    	 eval(tab[cpt] + ".style.backgroundColor = \"#FFFFFF\"");
      }
     if(verifMail(document.commentaire.email.value)==1)
     {
      document.commentaire.email.style.backgroundColor = "#F3C200";
      return (false);
     }
      else
      document.commentaire.email.style.backgroundColor = "#FFFFFF";
     if(verifCommentaire(document.commentaire.commentaireClient.value)==1)
     {
      document.commentaire.commentaireClient.style.backgroundColor = "#F3C200";
      return (false);
     }
      else
      document.commentaire.commentaireClient.style.backgroundColor = "#FFFFFF";
     return(true);
    }

  2. #2
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Bonjour,

    Pour commencer, les eval c'est pas bien. Ça oblige à un reparsing, et c'est une très mauvaise idée de prendre l'habitude de les utiliser car ça ne peut exister que pour les langages interprêtés.

    Donc moi je dirais un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [...]
    var tab = new Array(document.commentaire.prenom, document.commentaire.nom);
    [...]
      for (cpt; cpt < tab.length; cpt++) {
        if (verifChaine(tab[cpt].value) == 1) {
          tab[cpt].style.backgroundColor = "#F3C200";
          return (false);
        }
        else
          tab[cpt].style.backgroundColor = "#FFFFFF";
      }
    [...]

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    C'est ok, merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 16h07
  2. Réponses: 3
    Dernier message: 06/07/2004, 10h21
  3. [Debutant] Batch et Boucle for
    Par ludovic.fernandez dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 06/05/2004, 19h21
  4. [Swing][boucles] for, do, if .....comment faire simple?
    Par chastel dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/05/2004, 22h49
  5. [langage] boucle "for" modification du pas
    Par K-ZimiR dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2004, 11h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo