Enregistrer une valeur dans un nom de variable dynamique [Résolu]

Signaler
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011
-
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011
-
Bonjour,

Voici mon problème aujourd'hui.
J'ai une variable dynamique qui prend un autre nom le temps de la boucle : 
for(i=0;i<tabChampsRetourSuite[0].length;i++) {
   var VarErreurs = "Erreurs"+tabChampsRetourSuite[2][i];
}
Si dans cette boucle je fait un alert(eval(VarErreurs)); , ça marche!
Mais avec alert(window[VarErreurs]); , ça ne marche plus! Il me met que la variable et "undifined".
Donc je continue avec le eval, même si après mes recherches sur le net, j'ai vu que c'est moins bien que le window.
Dans la boucle sitée plus haut, je fait : eval(VarErreurs) += "- "+tabChampsRetourSuite[1][i]+"\n"; , et bien sûr, ça ne marche pas et ça provoque une erreur! Mais avec window[VarErreurs] += "- "+tabChampsRetourSuite[1][i]+"\n"; , et ça marche! Sans provoquer d'erreur!

Donc voilà, je voulais savoir si l'on peut enregistrer des valeurs dans une variable dont le nom est dynamique??

Merci beaucoup d'avance!!

www.le-roro.fr un site qui s'ameliore de jour en jour

2 réponses

Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

Bon, et bien j'ai trouvé!!
En fait, il "suffit" de déclarer la variable comme ça : var VarErreurs = eval("Erreurs"+tabChampsRetourSuite[2][i]); puis d'utiliser la variable comme une variable normale!!
Voilà voilà!

Bonne journée!!

www.le-roro.fr un site qui s'ameliore de jour en jour
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

Oui, et je précise qu'après, toujours dans la boucle, si je fait alert(VarErreurs+" : "+window[VarErreurs]); , ça marche, mais avec "undefined" devant la chaîne. Et si je regarde à la fin de la boucle avec le nom en dur, il m'affiche que la variable est vide!

Merci d'avance!! 

www.le-roro.fr un site qui s'ameliore de jour en jour