Transformer une chaine en ligne de code

Signaler
Messages postés
2
Date d'inscription
jeudi 2 mai 2002
Statut
Membre
Dernière intervention
3 mai 2002
-
Messages postés
5
Date d'inscription
vendredi 24 mai 2002
Statut
Membre
Dernière intervention
26 mai 2002
-
Bonjour,

J'ai écris un programme qui me génére des lignes de code. Or javascript ne les execute pas.

Ex :

var i=5
var chaine ="formulaire.checkbox"+i+"checked";
...
chaine = true;

(Equivalent à formulaire.checkbox5.checked = true; Or lorsque j'écris ce code directement cela fonctionne ???)

Merci

2 réponses

Messages postés
103
Date d'inscription
vendredi 13 juillet 2001
Statut
Membre
Dernière intervention
26 août 2003

Il ne faut pa faire chaine = true mais document.write chaine je pense, pcqe en disant chaine = true tu di just ke chaine est à l'état true alor que document.write chaine écrit dans le document la chaine !! Je pense k'il faut en fait générer un script js a partir d'un autre script js ;)

@tte et bonn' prog'
pi0up51
Messages postés
5
Date d'inscription
vendredi 24 mai 2002
Statut
Membre
Dernière intervention
26 mai 2002

cyril

Quand tu ecris cela:
var i=5
var chaine ="formulaire.checkbox"+i+"checked";
...
chaine = true;
tu affecte deux valeur succesives a la variable chaine;"formulaire.checkbox"+i+"checked" puis true, deux valeur du type chain puis boleen.
En fait il faudrait faire comprendre a javascript que la variable que tu cherche a cibler est le contenu d'un autre variable. C'est l'adressage indirect. Pour l'instant je n'ai pas trouvé la solution. Mais avec une ligne de commande en plus tu peux arriver au meme resultat:
chaine="nomDeLaVariable";
opérateur="=";
valeur="maValeur";

eval(chaine+opérateur+valeur+";");

soit dans ton cas
chaine="formulaire.checkbox"+i+"checked";
valeur="true";

eval(chaine+operateur+valeur+";") ;