Bonjour,
j'ai le nom d'une fonction javascript sous forme de String et je souhaite appeler la fonction gr�ce � son nom.
QQn a une id�e ?
Merci d'avance :D
Version imprimable
Bonjour,
j'ai le nom d'une fonction javascript sous forme de String et je souhaite appeler la fonction gr�ce � son nom.
QQn a une id�e ?
Merci d'avance :D
Tout betement:
Code:setTimeout(tonstring, 0)
ou tout simplement : tonstring();
qui est la facon d'appeler une fonction.
tchao 8-)
effectivement c'est simple :)
je n'y avais pas pens�.
merci
en fait �a ne marche pas :(
Je ne passe jamais dans ma fonction.Code:
1
2
3
4
5
6 eval("toto"); function toto() { alert("toto"); }
Je dois mal faire un truc.
merci d'avance.
c'est logique que tu ne passe pas dans ta fonction puisque eval sert a evaluer une chaine de caractere et nom pas le nom d'une fonction.
si tu veut passer dans ta fonction
function toto() {
alert("toto"); // affiche affiche un message d'alerte
}
toto(); //pour lancer la fonction
@+
en fait j'ai le nom de ma fonction sous forme de String
je r�cup�re ce nom via du AJAX et je souhaite appeler la fonction correspondant au nom. Est ce possible ?Code:
1
2 var nomFonction = "toto";
merci d'avance
As tu essay� le code que j'ai donn�!
sinon ...
Code:
1
2
3 function hello(){alert('hello world')} var mafonction="hello()" eval(mafonction) // ou setTimeout(mafonction)
je ne pense pas que ce soit possible.
De plus comme tu r�cup�re sa avec ajax , ta un truc du genre :
reponse="toto".Donc tu ne pourra pas appeler ta fonction avec ca.A moins que je me trompe mais en tous cas je ne vois pas comment faire.
Une solution alternative : tu recoi ta reponse avec ajax puis tu fait un switch sur ta reponse. ex :
switch (reponse)
{
case "toto":toto();break;
case "titi": titi();break;
...
}
voila @ +
ou encore :
Code:
1
2
3
4 function hello(){alert('hello world')} var mafonction="hello" window[mafonction]()
oui j'ai essay� mais je ne passe pas dans ma fonction :(
Code:
1
2
3
4
5
6
7 var toto = "toto"; setTimeout("toto", 0); function toto() { alert("toto"); }
Code:setTimeout("toto()", 0);
le eval marche mais avec les () .autant pour moi
tu peut concatener ta chaine "toto" avec "()" et apres eval
@+
la methode
me parait plus appropri�e ...Code:window[fonction]()
+1Citation:
Envoy� par SpaceFrog
deux bouts de code qui marchent :
Code:
1
2
3
4
5
6
7 var test = "toto" + "()"; setTimeout("eval(test)", 0); function toto() { alert("toto"); }
Par contre, je ne comprends �a : window[fonction]()Code:
1
2
3
4
5
6 setTimeout("toto()", 0); function toto() { alert("toto"); }
Tu peux me donner un exemple STP.
Merci bcp
l'exemple � d�ja �t� donn� deux ou trois postes plus haut ...
effectivement j'ai loup� pleins de post :)
Merci beaucoup !