[Javascript] Nom de variable dynamique ? [Résolu/Fermé]
A voir également:
- Javascript variable dynamique
- Variable dynamique javascript - Meilleures réponses
- Javascript nom de variable dynamique - Meilleures réponses
- [Javascript] Nom de variable dynamique ? ✓ - Forum - Javascript
- Modif nom d'une variable dynamiquement javasc ✓ - Forum - Webmaster
- Nom de variable dynamique - Forum - Webmaster
- Concaténation variable en javascript - Forum - Javascript
- Créer des noms de variables dans une boucle ? - Forum - Programmation
12 réponses
Tiret
Je ne veux pas utiliser de php, je donnais juste à titre de comparaison/exemple ;) Mais merci pour la réponse.
Bon j'ai réussi à gérer ça en restant "javascript", voici pour ceux qui pourraient en avoir besoin ma solution:
En espérant que ceci puisse aider d'autres personnes !
Bon j'ai réussi à gérer ça en restant "javascript", voici pour ceux qui pourraient en avoir besoin ma solution:
function Test(Element) { //Admettons qu'Element contienne 'Bois' var Prix = 'Prix_'+Element; // Prix contient donc 'Prix_Bois' document.Formulaire.eval(Prix).value = 5000; // La valeur de l'element Prix_Bois, du formulaire Formulaire est donc définie: elle vaut maintenant 5000. }
En espérant que ceci puisse aider d'autres personnes !
tibolt
Salut à tous,
en cherchant un peu j'ai réussi à trouver comment faire !
Il suffit d'utiliser window[nom_de_variable] ou nom_de_variable peut evidemment etre une variable.
Et voila!
en cherchant un peu j'ai réussi à trouver comment faire !
Il suffit d'utiliser window[nom_de_variable] ou nom_de_variable peut evidemment etre une variable.
Et voila!
tibolt
>
bigpouet
je m'excuse d'insister mais cela ne creer pas "simplement un tableau javascript window" mais bien une variable. Tu peux tester : affecter une valeur à window['nom_de_variable_dynamique'] est l'équivalent de var nom_de_variable_dynamique = valeur... a moins que je n'aie pas bien compris le probleme.
vikisme
>
tibolt
Je suis d'accord avec tibolt, sa méthode permet bien de créer des variables de variables, et ça permet même de créer des fonctions avec un nom dynamique, exemple :
function testation(id) {
window[id + '_calendar'] = new CalendarPopup("test");
window[id + '_calendar'].setReturnFunction(id + "_retour");
window[id + '_retour'] = function(y,m,d) {
document.forms[0][id + '_date'].value = d + '/' + m + '/' + y;
}
}
Merci en tout cas, j'ai pas eut besoin de trop chercher pour faire ça :)
function testation(id) {
window[id + '_calendar'] = new CalendarPopup("test");
window[id + '_calendar'].setReturnFunction(id + "_retour");
window[id + '_retour'] = function(y,m,d) {
document.forms[0][id + '_date'].value = d + '/' + m + '/' + y;
}
}
Merci en tout cas, j'ai pas eut besoin de trop chercher pour faire ça :)
pierre
>
vikisme
bonjour,
la solution est là ...???
utiliser la fonction eval ...
https://groups.google.com/forum/#!msg/comp.lang.javascript/8GZk6FB_pyQ/Q0cvVAX6pMkJ
https://www.zdnet.fr/
la solution est là ...???
utiliser la fonction eval ...
https://groups.google.com/forum/#!msg/comp.lang.javascript/8GZk6FB_pyQ/Q0cvVAX6pMkJ
https://www.zdnet.fr/
boss0211
- Messages postés
- 263
- Date d'inscription
- lundi 13 février 2006
- Statut
- Membre
- Dernière intervention
- 9 septembre 2007
quapel tu une variable dynamique?
Tiret
Pas variable dynamique, mais Nom de variable dynamique.
En gros, j'aimerais que le nom de ma variable puisse changer afin d'atteindre des objets différents en fonction du cas.
Exemple:
$document.Formulaire.Champ_'Partie variable du nom'.value
Pour illustrer le cas:
J'ai une fonction qui est atteignable par plusieurs endroits.
J'aimerais passer un paramètre qui soit la ' partie variable du nom', sachant que:
- J'ai dans la fonction plusieurs noms de variables qui ont besoin d'être dynamiques
- J'aimerais éviter de passer X paramètres, un pour chaque variable que je dois atteindre.
En espérant que ça t'aide à comprendre mon problème ;)
En gros, j'aimerais que le nom de ma variable puisse changer afin d'atteindre des objets différents en fonction du cas.
Exemple:
$document.Formulaire.Champ_'Partie variable du nom'.value
Pour illustrer le cas:
J'ai une fonction qui est atteignable par plusieurs endroits.
J'aimerais passer un paramètre qui soit la ' partie variable du nom', sachant que:
- J'ai dans la fonction plusieurs noms de variables qui ont besoin d'être dynamiques
- J'aimerais éviter de passer X paramètres, un pour chaque variable que je dois atteindre.
En espérant que ça t'aide à comprendre mon problème ;)
boss0211
- Messages postés
- 263
- Date d'inscription
- lundi 13 février 2006
- Statut
- Membre
- Dernière intervention
- 9 septembre 2007
donc il faut que tu fasse du PHP mélanger a du JS
ce que je peu te conseiller c'est de mettre
ce que je peu te conseiller c'est de mettre
$variable = ta_variable_JS;
JeSuisChePaki
- Messages postés
- 1
- Date d'inscription
- vendredi 22 août 2014
- Statut
- Membre
- Dernière intervention
- 22 août 2014
Et pour ceux qui veulent simplifier la formule :
function Test(Element)
{
return document.Formulaire.eval('Prix_'+Element).value;
}
function Test(Element)
{
return document.Formulaire.eval('Prix_'+Element).value;
}
wrongway
- Messages postés
- 1
- Date d'inscription
- vendredi 15 décembre 2006
- Statut
- Membre
- Dernière intervention
- 15 décembre 2006
MERCI pour ta solution Tiret,
Je ne l'ai pas encore testé, mais si ça marche c'est bien pensé.
en faite le principe que tu décris dans ton post est celui des pointeurs
utilisés dans un certain nombre de langage (C ou Java par exemple).
En effet la variable Prix contient "l'adresse" de la variable Prix_Bois qui
elle même contient la valeur 5000 après affectation. Corrige moi si je
me trompe. Bonne continuation.
Prix ---> Prix_Bois = 5000
Man.
Je ne l'ai pas encore testé, mais si ça marche c'est bien pensé.
en faite le principe que tu décris dans ton post est celui des pointeurs
utilisés dans un certain nombre de langage (C ou Java par exemple).
En effet la variable Prix contient "l'adresse" de la variable Prix_Bois qui
elle même contient la valeur 5000 après affectation. Corrige moi si je
me trompe. Bonne continuation.
Prix ---> Prix_Bois = 5000
Man.
samsam
Alors là t'est un chef ! ton exemple illustre parfaitement ce dont j'avais besoin...
Voila 1/2 journée de gagné ! T'as bien nommé ton problème, c'est justement les termes que j'ai tapé en pensant à ce problème... merci 1000fois
Voila 1/2 journée de gagné ! T'as bien nommé ton problème, c'est justement les termes que j'ai tapé en pensant à ce problème... merci 1000fois
Merci pour ce rappel utile, je l'avais complètement oubliée celle-là ^^
Par contre je suis pas du tout convaincu par la méthode utilisant l'objet window citée plus bas.
et merci pour l'aide. C'est clair, et très utile.
document.Formulaire.eval(Prix).value = 5000;
on peut utiliser:
document.Formulaire[Prix].value = 5000;
car des fois eval ne fonctionne pas.