2009-12-25 4 views
0

Je suis en train de passer deux paramètres à une fonction JavaScript. Malheureusement, cela me donne une erreur.Passe paramètre JavaScript

est ici la fonction

function load(do,div) 
    { 
     var do; 
     var div; 
     document.getElementById('spinner').innerHTML = '<img src=\'/images/spinner.gif\'>'; 
     $('#'+div).load('rpc.php?'+do, 
     function() 
     { 
      document.getElementById('spinner').innerHTML = ''; 
      $('#'+div).show('slow'); 
     } 
    } 

Et je l'appelle comme ceci:

<a href="javascript:;" onclick="load('limit','mydiv');">Get Limit</a> 

Comment puis-je résoudre ce problème?

Répondre

11

do est un mot réservé dans JavaScript. Changez le nom de la variable en quelque chose d'autre. De plus, ne déclarez pas les arguments dans le corps de la fonction. Supprimez donc les 2 lignes var du haut de votre corps de fonction.

Si vous êtes curieux de savoir à quoi sert le mot-clé do, c'est pour les boucles do...while où la condition est évaluée à la fin, pas au début de la boucle. Il est utilisé quelque chose comme ceci:

do { 
    // do stuff in loop at least once 
} while (some_condition_is_true); 

Pour plus d'informations, consultez W3Schools.

+2

... et retirer les deux déclarations qui sont enchevêtrements les arguments. – BalusC

+0

@BalusC: Merci. Bon point. J'ai mis à jour ma réponse. – Asaph

+0

grâce que ce soit réglé l'erreur – streetparade

1

Est-ce parce que vous redéfinissez faire div à nouveau en fonction et qu'ils redéfinissent la portée des paramètres passés?