Téléchargement
illégal
Posez votre question Signaler

[Javascript] Nom de variable dynamique ? [Résolu]

Tiret - Dernière réponse le 29 févr. 2012 à 23:45
Bonjour

après avoir parcouru les rubriques des cours sans trouver de réponse, je me tourne vers vous.

Est-il possible de donner un nom dynamique à une variable ?

L'équivalent javascript de:

<?php 
$Nom_Var = Valeur;
$Nom1 = 'Nom_Var';
echo $$Nom1; // Affiche 'Valeur'
?>


Voila en attendant vos réponses, demandez des éclaircissements si je n'ai pas été assez clair !
Lire la suite 

[Javascript] Nom de variable dynamique »

23 réponses
Réponse
+20
moins plus
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:

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 !
Dronoïde - 23 avril 2010 à 03:58
En effet la fonction eval() est faite pour çà...
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.
Raiden313 - 9 août 2011 à 10:56
Bonjour,

et merci pour l'aide. C'est clair, et très utile.
marc - 29 févr. 2012 à 23:45
au lieu de :
document.Formulaire.eval(Prix).value = 5000;
on peut utiliser:
document.Formulaire[Prix].value = 5000;
car des fois eval ne fonctionne pas.
Ajouter un commentaire
Réponse
+9
moins plus
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!
vikisme - 6 mai 2008 à 14:35
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 :)
pierre - 6 août 2008 à 21:19
bonjour,
la solution est là ...???
utiliser la fonction eval ...
http://groups.google.com/group/comp.lang.javascript/msg/c9a4fa05542f4743

http://www.zdnet.fr/...
pouette - 16 avril 2010 à 14:43
Effectivement tibolt bien vu

Ce post date un peu mais je rajouterai même.
Si ta variable est définie dans un scope

par exemple ici this ;)
this['static'+dynamic] = 'yeah man';
Ajouter un commentaire
Réponse
+1
moins plus
quapel tu une variable dynamique?
Ajouter un commentaire
Réponse
+1
moins plus
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 ;)
Tiret - 1 sept. 2006 à 22:06
document.Formulaire.Champ_'Partie variable du nom'.value e

et non pas

$document.Formulaire.Champ_'Partie variable du nom'.value
Dronoïde - 23 avril 2010 à 03:52
Tiret à dis : "Pas variable dynamique, mais Nom de variable dynamique."

Et ben,
Une variable dynamique est une variable dont le nom est dynamique.
C'est la même chose, donc inutile de t'auto-corriger.
=D
diego - 6 mars 2011 à 12:20
euh y'a quand même une différence entre:
une variable, dont le nom est dynamiquet...et
une variable dont le contenu l'est.... sans compter les variables dont le nom et le cotenu sont dynamique......
donc il a raison de préciser (oui je sais post de 2002 ^^)
Ajouter un commentaire
Réponse
+0
moins plus
donc il faut que tu fasse du PHP mélanger a du JS
ce que je peu te conseiller c'est de mettre

$variable = ta_variable_JS;
Ajouter un commentaire
Réponse
+0
moins plus
Tout comme samsam : Parfait !
Ajouter un commentaire
Réponse
-1
moins plus
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.
Ajouter un commentaire
Réponse
-1
moins plus
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
Ajouter un commentaire
Réponse
-1
moins plus
Bien jouer !
J'aime beaucoup les noms de variables dynamiques en PHP et je me trouver bien dans l'embarras pour l'appliquer en Javascript ...
Merci beaucoup !
Ajouter un commentaire
Réponse
-2
moins plus
MERCI, MERCI, MERCI !
Ajouter un commentaire
Réponse
-2
moins plus
Salut,

merci pour le renseignement, je cherchais egalement cette info !
Ajouter un commentaire
Ce document intitulé « [Javascript] Nom de variable dynamique ? » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?