Deux appels de fonction l'un dans l'autre

Maxdivertis Messages postés 7 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 8 septembre 2010 - 7 sept. 2010 à 14:53
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 8 sept. 2010 à 18:31
Bonjour,

Je veux appeler depuis un input une fonction javascript (qui se trouve déjà dans un appel de fonction js). Je m'explique : j'ai ma balise input avec mon onClick :


myChangingFront.Exec appel une méthode javascript qui va tout récupérer et faire des traitements.
L'important c'est getMyText(champsTxt1), c'est censé appeller ma fonction javascript (dénomé biensur getMyText) qui récupère le paramètre champsTxt1 (donc le contenu d'un champ texte).

Mon problème est que getMyText n'est jamais appelé. En gros myChangingFront.Exec interprète getMyText comme si c'était un fruit quoi ^^ Je n'arrive pas à placer deux appels de fonction l'un dans l'autre. (en résumé à faire callFonction1(callFonction2ToGetParams(params1));
Je galère vraiment, merci de votre aide.

3 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
7 sept. 2010 à 19:20
Bonjour,
difficile de dire quelque chose de plus que je ne comprend pas tout...
mais pour commencer la synthaxe de l'appel de fonction est la suivante
onClick = "nom_de_la_fonction( parametre);">

donc déjà il manque un guillemet de fermeture dans ton code
onClick="myChangingFront.Exec(repas=viande(boeuf);legume(haricots);fruit(getMyText(champsTxt1));)">
mais peut être est ce le copier/coller qui a foiré...

ensuite parametre peut être une fonction, plutôt sont résultat d'ailleurs

onClick = "fonction_01( fonction_02(parametre_02));">
si la fonction_02 renvoie parametre on se retrouve dans le même cas que le premier appel...

La façon dont tu as écrit ton code fait que
myChangingFront.Exec est la fonction
et que
repas=viande(boeuf);legume(haricots);fruit(getMyText(champsTxt1))
sont les paramètres passés à la fonction...

la séparation des paramètres se fait à l'aide de la virgule et non du point virgule, donc au mieux on devrait avoir
onClick="myChangingFront.Exec(repas=viande(boeuf),legume(haricots),fruit(getMyText(champsTxt1)))"> 

dans ce cas repas est une variable
- viande une fonction
- boeuf une variable
- legume une fonction
etc, etc...

bon on va arrêter ici, car je ne suis plus sur d'être clair...

en attendant de voir ton code !!!

;O)
0
Maxdivertis Messages postés 7 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 8 septembre 2010
8 sept. 2010 à 11:14
Alors je vais reprendre ta dernière ligne de javascript :

onClick="myChangingFront.Exec(repas=viande(boeuf),legume(haricots),fruit(getMyText(champsTxt1)))"> 


Mon but est que myChangingFront.Exec n'ai qu'un seul paramètre d'ou les point virgules pour séparer les données au sein de mon unique paramètre. Ce paramètre c'est repas=viande(boeuf),legume(haricots),fruit(getMyText(champsTxt1)) avec à l'intérieur getMyText une fonction qui me permet d'avoir mon fruit.
Donc mon paramètre je veux qu'il ai la forme "repas=viande(..."Etc car ensuite je fais un traitement dessus.

donc je resterai bien sur un base comme celle-ci :

onClick="myChangingFront.Exec(repas=viande(boeuf);legume(haricots);fruit(getMyText(champsTxt1)))"> 


Sauf que ça marche pas ^^
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
8 sept. 2010 à 18:31
Bonjour,
...Mon but est que myChangingFront.Exec n'ai qu'un seul paramètre d'ou les point virgules ...
je te le répète les paramètres sont à séparer par une VIRGULE et rien d'autre...

tu peux passer l'ensemble en le mettant entre cotte, cela sera dans ce cas une chaine de caractère, qu'il te faudra dépiauter dans la fonction avant action...

pourquoi ne pas faire une fonction tampon
onclick ="fct_tampon();">

et dans le code la fonction
//-------------------
function fct_tampom(){
  var param = ???;                   // je doids admettre que je n'en sait rien
  repas = viande(boeuf);             // appel 1st fonction et initialise repas
  var Champ = getMyText(champsTxt1); // celle je la comprends mais pas sur!
  fruit( Champ);                     // execute fonction mais n'utilise pas le resultat
  myChangingFront.Exec( param);      // il n'y a qu'un parametre heureux!!!
}

...un morceau de code pourrait nous aider, on n'est pas devin!!!
;O)
0
Rejoignez-nous