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 :

Transmission variable javascript


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par d�faut Transmission variable javascript
    Bonjour
    je reposte un message au sujet du probleme que je rencontre pour passer d'une page avec une variable javascript � une page avec une variable php contenant la valeur de la variable javascript.
    J'ai test� plusieurs choses et j'ai maintenant plus d'�l�ments pour identifier le probleme

    sur la premiere page (index.php) , on fournit une adresse (exemple : 75010, france). la fonction showadress calcule les coordonn�es (latitude, longitude) et renvoie la valeur, qu'on transmet sur la page suivante (afficher.php) dans une variable php qu'on affiche

    code de index.php :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <head>
    <title>Application Google Map</title>
    <script src="http://maps.google.com/maps?file=api&v=2.x&key=ABQIAAAAal_cd43vOKPQhNkPDkwHgBQSXE4ITa1YzwIbIoQt-CisjCLm8xTJhtTXHvXoMcij_eu3bNbEGnk_PA" type="text/javascript"></script>
    <style type="text/css">
     
    </style>
    </head>
    <body style="margin: 0px; padding: 0px;">
     
    <form action="afficher.php" method="post" onsubmit="document.getElementById('latLngStr').value=showAddress(address_rech.value);">
    <input type="text" id="address_rech" name="address_rech" value="" >
    <input type=hidden id="latLngStr" name='latLngStr'>
    <input type="submit" id="submit" value="Localiser" />
    </form>
     
    <div id="map" style="width: 400px; height: 300px"></div>
     
    <script type="text/javascript">
     
        var geocoder = new GClientGeocoder();
     
       function showAddress(address) {
     
            if (geocoder) {
                geocoder.getLatLng(address, function(point) {
                    if (!point) { /* Si les coordonnées n'ont pas été trouvés */
                        alert("Impossible de localiser l'adresse :\n\n" + address);
                    } else {
    				var latLngStr = '(' + point.y + ', ' + point.x + ')';
    				var retour=latLngStr;
    			    return (retour);
                    }
                });
            }
     
        }
     
    </script> 
    </body>
    </html>

    code de afficher.php

    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
    <html>
    <body>
    <?php 
     
    if(isset($_POST['latLngStr']))
    {
            $calcul=$_POST['latLngStr'];
    }
    else
    {
            $calcul="pas de valeur";
    }
     
    echo "$calcul<br>";
     
    ?>
    </body>
    </html>
    le probleme c'est que la fonction showadress renvoie la valeur "undefined" ;
    pourtant, si je met alert (retour) au lieu de return (retour) dans la fonction, j'ai bien une alerte javascript avec les coordonn�es souhait�es...
    alors ou est le pb? ca fait plus de 3 jours que je m'arrache les cheveux la dessus..
    Merci pour votre aide

  2. #2
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    enl�ve les parenth�ses apr�s return;

    par ailleurs, attention � la syntaxe IE quand tu passes le champ texte en param�tre: showAddress(address_rech.value);

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par d�faut
    bonjour,
    merci pour la r�ponse.
    j'ai enlev� les parentheses mais ca ne change rien..
    sinon concernant la syntaxe IE je n'ai pas compris ce que tu voulais dire..en tout cas j'ai test� sous IE et FF et le r�sultat est le m�me..

  4. #4
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    place ton return hors des conditions, en fin de fonction;

  5. #5
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    il serait bon aussi de d�clarer
    avant la fonction:

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par d�faut
    merci pour les id�es mais toujours pareil, il renvoie "undefined"...

  7. #7
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    bonk, attends, je r��cris un peu ton code...

  8. #8
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    peut-�tre quelque chose comme �a:


    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
    27
    28
    29
    30
    31
    32
    <form action="afficher.php" method="post" onsubmit="return showAddress(this);">
    <input type="text" id="address_rech" name="address_rech" value="" >
    <input type=hidden id="latLngStr" name='latLngStr' />
    <input type="submit" id="submit" value="Localiser" />
    </form>
     
    <div id="map" style="width: 400px; height: 300px"></div>
     
    <script type="text/javascript">
     
    var geocoder = new GClientGeocoder();
     
    var test;
     
    function showAddress(f) {
     
    	if (geocoder) {
    		geocoder.getLatLng(address, function(point) {
                    	if (!point) { /* Si les coordonnées n'ont pas été trouvés */
    		                alert("Impossible de localiser l'adresse :\n\n" + address);
                    	}
    			else {
    				f.elements["address_rech"].value='(' + point.y + ', ' + point.x + ')';
    				test=true;
                    	}
                	};
            }
     
    	return test; 
       }
     
    </script>
    de toute fa�on, tu avais une parenth�se malheureuse, gliss�e en fin de fonction

  9. #9
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    apr�s relecture:

    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
    function showAddress(f) {
     
    	if (geocoder) {
    		geocoder.getLatLng(address, function(point) {
                    	if (!point) { /* Si les coordonnées n'ont pas été trouvés */
    		                alert("Impossible de localiser l'adresse :\n\n" + address);
                    	}
    			else {
    				f.elements[address_rech].value='(' + point.y + ', ' + point.x + ')';
    				test=true;
                    	}
                	})
            }
     
    	return test; 
       }
    ???

    et pour la "parenth�se", c'est moi qui �tais distrait...

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par d�faut
    salut
    merci pour ton temps
    j'ai test� mais je n'y croyais pas trop
    en effet la fonction showaddress doit prendre adress_rech comme argument et renvoyer les coordonn�es..ca serait donc plutot un truc du style

    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
    function showAddress(f) {
     
    	if (geocoder) {
    		geocoder.getLatLng(f.elements[address_rech].value, function(point) {
                    	if (!point) { /* Si les coordonnées n'ont pas été trouvés */
    		                alert("Impossible de localiser l'adresse :\n\n" + address);
                    	}
    			else {
    				f.elements[latLngStr].value='(' + point.y + ', ' + point.x + ')';
    				test=true;
                    	}
                	})
            }
     
    	return test; 
       }
    mais �a, �a ne marche pas non plus (�a ne renvoit rien..)

  11. #11
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    bah, ton address_rech a peu d'importance, c'est juste un champ de formulaire, peu importe ta fa�on de le d�signer;


    je ne sais pas ce que fait ta fonction geocoder.getLatLng() non plus... (tu ne l'as pas donn�e ici);

  12. #12
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par d�faut
    salut
    la fonction showadress prend en argument address_rech, qui est une adresse postale (exemple : '75010, france') et renvoie les coordonn�es latitude longitude (exemple : (48.2141, 2.1512) ).
    alors que ce que tu faisais dans la fonction que tu as r��crite c'est que tu mettais les coordonn�es r�sultats dans address_rech..c'est ca que je voulais dire.
    pour ce qui est de geocoder.getLatLng, il s'agit d'une fonction googlemap qui cherche les coordonn�es � partir de l'adresse (c'est donc le coeur de la fonction showaddress).

  13. #13
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    tu utilises les m�mes noms pour des champs de formulaire et des variables, alors...

    et entre nous, l'attribut value que tu passe � show_address prouve que address_rech est bien le champ texte du formulaire et non une variable d�finie ailleurs;

    bizarre tout �a!

  14. #14
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    ok pour ta correction du param�tre dans ce que je proposais;

    tu veux dire que $calcul est toujours ind�finie?

  15. #15
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par d�faut
    oui oui address_rech est le champ texte du formulaire..en effet c'�tait peut etre ambigu..
    et voil�, $calcul est toujours ind�finie..exactement

  16. #16
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    salut!

    et tu as fait la modif, dans la balise form?

    onsubmit="return showAddress(this)"

  17. #17
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par d�faut
    salut
    oui j'ai fait la modif
    si tu me laisse une adresse mail je peux t'envoyer les fichiers si tu veux tester...

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par d�faut
    bonjours, j'ais � peu pres le meme probl�me sauf que moi j'appel la fonction avec visual basic.net...non pas avec de l'asp mais bel et bien du vb.

    Et donc je me suis pench� sur le probl�me. La variable point.x contient la lattitude. La variable point.y la

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par d�faut
    D�sol� pour mes gros doigt, j'ai appuy� sur entr�e.

    bonjours, j'ais � peu pres le meme probl�me sauf que moi j'appel la fonction avec visual basic.net...non pas avec de l'asp mais bel et bien du vb.

    Et donc je me suis pench� sur le probl�me. La variable point.x contient la lattitude. La variable point.y la longitude.

    Donc je me suis dis que si je prenais une variable youplaboom et que je concat�nais la latt et la long, vb la reconnaitrait comme une string et ca passerais comme une lettre a la poste, mais ca n'a bizarrement pas march�.

    Pour info le passage d'une varialbe string de javascript vers vb fonctionne sans probl�me en principe dans mes tests.

    Donc essai juste avec le php peut etre que ca marchera, mais a mon avis il y a un bloquage plus au niveau du type de la variable point qu'autre chose.


    donc [youplaboom = "/" + point.x + "/" + point.y + "/"]
    tu mets ca et ensuite tu [return(youplaboom)];

    Je suis d�butant en javascript et j'avoue ne rien connaitremais je pense que le probl�me r�side dans le type de la variable point(la variable point est un objet).

    pr�viens moi si ca marche, bonne chance moi j'ai laiss� tomber pour le moment.

Discussions similaires

  1. transmission variable(s) php vers javascript
    Par Didier100 dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 01/12/2009, 15h00
  2. Transmission variables javascript asp.net
    Par oclone dans le forum ASP.NET
    R�ponses: 13
    Dernier message: 24/12/2008, 15h10
  3. transmission variable javascript
    Par wilhem dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 23/05/2008, 09h17
  4. Variables javascript non correctement d�finies
    Par LLaurent dans le forum XMLRAD
    R�ponses: 5
    Dernier message: 11/05/2004, 12h39

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