IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Passage de paramètre impossible


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Points : 14
    Points
    14
    Par défaut [AJAX] Passage de paramètre impossible
    -vraiment désoler je suis dans Ajax et non Javascript, modo déplacer si il vous plait, sorry-

    Bonjour,
    (2 questions en 2 jours, je sais que c'est de l'abus, mais dès que je m'y connaitrai plus, je vous jure, c'est moi qui vous aides)

    Voila, j'ai extrait ceci de mon code.
    Le 1er appel de "commander()" me donne "tabImput is not defined", alors que celui en commentaire fonctionne nickel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function afficheArticle() { 
    	var tabImput = new Array();
    	tabImput["S"]="5";
    	document.getElementById("mDiv").innerHTML = "<div onclick='commander(tabImput)'>Commander</div>";
    	//Alors que la ligne ci dessous marche très bien :
    	//commander(tabImput);
    }
     
    function commander(itemsForm) {
    	for(var propriete in itemsForm) {
    		alert(propriete + " " +itemsForm[propriete]);
    	}
    }
    Je m'étonne que ce soit "tabImput" qui soit indéfini et non "itemsForm".
    J'ai tester avec des " et des ' et tout les caractères d'échapement autour de "commander()", mais rien n'y fait.
    Merci pour votre temps. Là je bloque de nouveaux vraiment.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Le problème vient du fait que tabImput est une variable interne à la fonction afficheArticle() or tu l'appelles lors du clic, et ce clic est externe à la fonction.

    Pour remédier à cela, une solution un peu complexe est nécessaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function afficheArticle() {
      var tabImput = new Array();
      tabImput["S"]="5";
      document.getElementById("mDiv").innerHTML = "Commander";
      document.getElementById("mDiv").onclick = function () {
        for(var propriete in tabImput) {
          alert(propriete + " " +tabImput[propriete]);
        }
      };
    }
    Ce que j'ai fait est de dire que lorsqu'on clique sur le "Commander", javascript appelle une fonction anonyme qui va faire un alert pour chacune des propriétés du tableau.

  3. #3
    Membre à l'essai
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par dingoth
    une fonction anonyme
    Ce n'est pas un mauvais choix, mais ce n'est je trouve pas très propre. Je susi dans un fichier d'environ 500lignes et la clareté est indispensable.

    J'ai trouver une autre solution dont je ne connais pas la logique. J'ai simplement supprimer "VAR" devant ma 1er déclaration de "tabImput = new Array();"
    Visiblement ca en ferait une variable globale.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/03/2009, 14h08
  2. Passage de paramètre dans un fichier distant en javascript/ajax
    Par moook dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/06/2008, 13h51
  3. [AJAX] AJAX : Passage d'un tableau 2D en paramètre
    Par niacinside dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/06/2008, 10h48
  4. [SOAP] Passage des types imposés en paramètres
    Par Guybrush113 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/10/2007, 09h34
  5. [jsp] passage de paramètres impossible
    Par Raylemon dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 18/03/2005, 20h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo