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 data d'une fonction à une autre


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 20
    Par défaut [AJAX] Passage data d'une fonction à une autre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function getplusdeprecis(motclef, bclidprecis) {
        	creerRequete();
    		var url = "lirerepprecis.php?motclef=" + motclef + "&bclidprecis=" + bclidprecis;
    		requete.open("GET", url, true);
    		var a = motclef;
    		var b = bclidprecis;
    		requete.onreadystatechange = actualiserPage;
    		requete.send(null);
    	}
     
      	function actualiserPage() {
    		if (requete.readyState == 4) {
     
    			var recupdata = requete.responseText;
    			var imagemoins = "<img src='images/precismoins.png' name='plusdeprecis'" + 
    			"onClick='cachelesprecis(\"$motclef\", \"$bclidprecis\")' />" +
    			" RECLIC POUR CACHER TOUS LES PRECIS";
    			document.getElementById("imageplusoumoins").innerHTML = imagemoins;
    			document.getElementById("tjsplusdeprecis0").innerHTML = recupdata;
     
    			}
    		}
    Ceci fonctionne bien, il va bien rechercher les données avec responseText.


    Par contre ce que je voudrai, c'est faire passer la valeur de mes variables a et b de la fonction getplusdeprecis vers la fonction actualiserPage.
    J'ai bien essayé de faire comme çà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    function getplusdeprecis(motclef, bclidprecis) {
        	creerRequete();
    		var url = "lirerepprecis.php?motclef=" + motclef + "&bclidprecis=" + bclidprecis;
    		//var url = "lirerepprecis.php?motclef=bonjour";
    		requete.open("GET", url, true);
    		//alert(motclef);
    		var a = motclef;
    		var b = bclidprecis;
    		//alert(a);
    		//actualiserPage(motclef, bclidprecis);
    		requete.onreadystatechange = actualiserPage(a, b);
    		requete.send(null);
    	}
     
      	function actualiserPage(motclef, bclidprecis) {
    		alert(motclef);
    		if (requete.readyState == 4) {
    			var recupdata = requete.responseText;
    			var imagemoins = "<img src='images/precismoins.png' name='plusdeprecis'" + 
    			"onClick='cachelesprecis(\"$motclef\", \"$bclidprecis\")' />" +
    			" RECLIC POUR CACHER TOUS LES PRECIS";
    			document.getElementById("imageplusoumoins").innerHTML = imagemoins;
    			document.getElementById("tjsplusdeprecis0").innerHTML = recupdata;
     
    			}
    		}
    La fenêtre alert s'affiche bien, avec la bonne valeur.

    Par contre si je déplace l'alert comme ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    	function getplusdeprecis(motclef, bclidprecis) {
        	creerRequete();
    		var url = "lirerepprecis.php?motclef=" + motclef + "&bclidprecis=" + bclidprecis;
    		//var url = "lirerepprecis.php?motclef=bonjour";
    		requete.open("GET", url, true);
    		//alert(motclef);
    		var a = motclef;
    		var b = bclidprecis;
    		//alert(a);
    		//actualiserPage(motclef, bclidprecis);
    		requete.onreadystatechange = actualiserPage(a, b);
    		requete.send(null);
    	}
    	function actualiserPage(motclef, bclidprecis) {
     
    		if (requete.readyState == 4) {
    		alert(motclef);
    			var recupdata = requete.responseText;
    			var imagemoins = "<img src='images/precismoins.png' name='plusdeprecis'" + 
    			"onClick='cachelesprecis(\"$motclef\", \"$bclidprecis\")' />" +
    			" RECLIC POUR CACHER TOUS LES PRECIS";
    			document.getElementById("imageplusoumoins").innerHTML = imagemoins;
    			document.getElementById("tjsplusdeprecis0").innerHTML = recupdata;
     
    			}
    		}
    J'ai un message d'erreur => Error : Type mismatch

    Mon problème, c'est que j'ai besoin absolument de faire passer ces valeurs.
    Je vois une solution en faisant revenir les valeurs par la page lirerepprecis.php.

    Auriez-vous une solution plus direct?
    D'avance je vous remercie.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par domux
    Auriez-vous une solution plus direct?
    déclare a et b en variables globales (hors des fonctions) ...
    Elles seront ainsi accessibles directement dans tout le JS de ta page.

    A+

  3. #3
    Membre averti
    Inscrit en
    Août 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 20
    Par défaut
    Comme mes valeurs de variable sont dans la fonction, j'ai lu que pour les faire passer en variable globale, il suffisait de ne pas mettre var devant la variable.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    function getplusdeprecis(motclef, bclidprecis) {
        	creerRequete();
    		var url = "lirerepprecis.php?motclef=" + motclef + "&bclidprecis=" + bclidprecis;
    		//var url = "lirerepprecis.php?motclef=bonjour";
    		requete.open("GET", url, true);
    		//alert(motclef);
    		a = motclef;
    		b = bclidprecis;
    		//alert(a);
    		//actualiserPage(motclef, bclidprecis);
    		requete.onreadystatechange = actualiserPage(a, b);
    		requete.send(null);
    	}
     	function actualiserPage(motclef, bclidprecis) {
    		//alert(a);
    		if (requete.readyState == 4) {
    		alert(a);
    			var recupdata = requete.responseText;
    			var imagemoins = "<img src='images/precismoins.png' name='plusdeprecis'" + 
    			"onClick='cachelesprecis(\"$motclef\", \"$bclidprecis\")' />" +
    			" RECLIC POUR CACHER TOUS LES PRECIS";
    			document.getElementById("imageplusoumoins").innerHTML = imagemoins;
    			document.getElementById("tjsplusdeprecis0").innerHTML = recupdata;
     
    			}
    		}
    Hélas, j'ai toujours la même erreur!

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par E.Bzz
    en variables globales (hors des fonctions)

  5. #5
    Membre averti
    Inscrit en
    Août 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 20
    Par défaut
    Oki oki, compris. Ca fonctionne.

    Un grand merci.

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

Discussions similaires

  1. appliquer une fonction à une fonction
    Par stracoma dans le forum C++
    Réponses: 6
    Dernier message: 20/03/2015, 16h35
  2. Réponses: 4
    Dernier message: 22/09/2011, 19h55
  3. [Débutant] Passage de variable d'une fonction à une autre
    Par scorpions1 dans le forum Interfaces Graphiques
    Réponses: 9
    Dernier message: 15/04/2011, 14h38
  4. passage d'argument d'une fonction à une autre
    Par kawther dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 23/11/2008, 21h09
  5. passer en paramettre d'une fonction une fonction
    Par RoM3Ro dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/06/2006, 15h54

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