Transmission d'un argument entre deux fonctions

Transmission d'un argument entre deux fonctions - HTML/CSS - Programmation

Marsh Posté le 10-08-2006 à 13:21:15    

Bonjour,
 
Ne maîtrisant pas la JavaScript, je fais appel à vos connaissances afin de pouvoir m'aider.
Voici mon problème, lors de la première boucle, +texte+ est bien interprété (enfin je crois) puis après il m'affiche undefined (le debug de firefox m'affiche ; "texte is not defined" , j'ai pensé à une erreur de synthaxe  :whistle:  
 
Je précise une chose : si texte vaut 888, le script m'affiche ok888 puis il se bloque.
 

Code :
  1. <script>
  2.   var timeout;
  3. function openInfoDialog(texte) {
  4.  Dialog.info("BLOP",
  5.            {windowParameters: {className: "alert_lite",width:250, height:100}, showProgress: true});
  6.  timeout=5;
  7.  setTimeout(infoTimeout(""+texte+"" ), 1000)
  8. }
  9. function infoTimeout(texte) {
  10.   timeout--;
  11.      if (timeout >0) {
  12.        Dialog.setInfoMessage("ok"+texte+"" )
  13.     setTimeout("infoTimeout(''+texte+'')", 1000)
  14.     }
  15.   else
  16.     Dialog.closeInfo()
  17. }
  18. </script>


 
merci

Reply

Marsh Posté le 10-08-2006 à 13:21:15   

Reply

Marsh Posté le 10-08-2006 à 17:49:19    

up


Message édité par M Orthographe le 10-08-2006 à 17:49:28
Reply

Marsh Posté le 11-08-2006 à 13:58:02    

Le code lancé par le 2ème setTimeout n'a pas de visibilité sur les variables définies dans infoTimeout
 

Code :
  1. <script>
  2.   var timeout;
  3.   function openInfoDialog(texte) {
  4.     Dialog.info("BLOP",
  5.       {windowParameters: {className: "alert_lite",width:250, height:100}, showProgress: true});
  6.     timeout=5;
  7.     setTimeout(infoTimeout(texte), 1000);
  8.   }
  9.   function infoTimeout(texte) {
  10.     timeout--;
  11.     if (timeout >0) {
  12.       Dialog.setInfoMessage("ok"+texte);
  13.       var commande = "infoTimeout('" + texte + "')";
  14.       alert(commande); // juste pour comprendre comment ça marche
  15.       setTimeout("infoTimeout('"+texte+"')", 1000);
  16.     } else {
  17.       Dialog.closeInfo();
  18.     }
  19.   }
  20. </script>


 

Reply

Marsh Posté le 11-08-2006 à 17:10:00    

Merci :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed