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 :

Passer une variable � une fonction javascript en HTML


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Par d�faut Passer une variable � une fonction javascript en HTML
    Bonjour,

    je souhaite en tapant une URL du style :
    http://www.example.com/upload.html?latitude=45&longitude=10

    passer les coordonn�es � une page qui serait la suivante :
    Code html : 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
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
     
        <head>
            <title>Tutoriel Google Maps</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <!-- Elément Google Maps indiquant que la carte doit être affiché en plein écran et
            qu'elle ne peut pas être redimensionnée par l'utilisateur -->
            <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
            <!-- Inclusion de l'API Google MAPS -->
            <!-- Le paramètre "sensor" indique si cette application utilise détecteur pour déterminer la position de l'utilisateur -->
            <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
            <script type="text/javascript">
                function initialiser(lat=49,lon=2) {
                            
                                    var latlng = new google.maps.LatLng(lat, lon);
                    //objet contenant des propriétés avec des identificateurs prédéfinis dans Google Maps permettant
                    //de définir des options d'affichage de notre carte
                    var options = {
                        center: latlng,
                        zoom: 19,
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                    };
                     
                    //constructeur de la carte qui prend en paramêtre le conteneur HTML
                    //dans lequel la carte doit s'afficher et les options
                    var carte = new google.maps.Map(document.getElementById("carte"), options);
                }
            </script>
        </head>
     
        <body onload="initialiser()">
            <div id="carte" style="width:100%; height:100%"></div>
        </body>
    </html>

    Dans la fonction INITIALISER du code javascript, j'arrive � passer les param�tres d�finis Lat et Lon, mais j'aimerais les r�cup�rer auparavant par $_GET['latitude'] etc.

    Est-ce possible et comment faire pour r�cup�rer les variables pass�es dans l'URL ?

    Merci beaucoup !

  2. #2
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Par d�faut
    Merci beaucoup, mais comme c'est compliqu�! !
    Enfin la r�ponse existait d�j�, il eut fallu que je creusasse plus...
    Merci!

  4. #4
    Membre �m�rite
    Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Par d�faut
    Bonjour,

    Que penses-tu de la chose suivante :

    Code html : 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
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
     
        <head>
            <title>Tutoriel Google Maps</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <!-- Elément Google Maps indiquant que la carte doit être affiché en plein écran et
            qu'elle ne peut pas être redimensionnée par l'utilisateur -->
            <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
            <!-- Inclusion de l'API Google MAPS -->
            <!-- Le paramètre "sensor" indique si cette application utilise détecteur pour déterminer la position de l'utilisateur -->
            <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
            <script type="text/javascript">
     
                var lon = <?php echo floatval( getParam( 'lon', 2.0 ) ) ?> ;
                var lat  = <?php echo floatval( getParam( 'lat', 49.0 ) ) ?> ;
     
                function initialiser() {
                            
                                    var latlng = new google.maps.LatLng(lat, lon);
                    //objet contenant des propriétés avec des identificateurs prédéfinis dans Google Maps permettant
                    //de définir des options d'affichage de notre carte
                    var options = {
                        center: latlng,
                        zoom: 19,
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                    };
                     
                    //constructeur de la carte qui prend en paramêtre le conteneur HTML
                    //dans lequel la carte doit s'afficher et les options
                    var carte = new google.maps.Map(document.getElementById("carte"), options);
                }
            </script>
        </head>
     
        <body onload="initialiser()">
            <div id="carte" style="width:100%; height:100%"></div>
        </body>
    </html>

    Avec :

    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function getParam( $name, $defaultValue = null ){
        if ( isset( $_GET[$name] ) ){
            return $_GET[$name] ;
        }else if ( isset( $_POST[$name] ) ){
            return $_POST[$name] ;
        }else{
            return $defaultValue ;
        }
    }

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Par d�faut
    Dans la FAQ, le benet que je suis a pass� presque 20 minutes � comprendre pourquoi l'exemple ne fonctionnait pas :

    &amp; -> &
    for(i=0;i&lt;first.length;i++){ -> for(i=0;i<first.length;i++){
    &</script> -> </script>


    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
    <script type="text/javascript">
        var nom=new Array();
        var valeur=new Array();
     
        // On enlève le ?
        param = window.location.search.slice(1,window.location.search.length);
     
        // On sépare le paramètres....
        // first[0] est de la forme param=valeur
     
        first = param.split("&amp;");
     
        for(i=0;i&lt;first.length;i++){
            second = first[i].split("=");
            nom[i] = second[0];
            valeur[i] = second[1];
        }
    &</script>

  6. #6
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Par d�faut
    Citation Envoy� par bretus Voir le message
    Bonjour,

    Que penses-tu de la chose suivante :
    alors en toute humilit�, j'avoue que je n'en pense pas grand chose dans la mesure o� je suis d�butant en javascript et d'autre part que je n'arrive pas � faire fonctionner ton script...

    Mais j'ai peut-�tre commis une erreur en rassemblant les deux fonctions dans le m�me script ? Voici ce que j'ai concat�n� :

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
     
        <head>
            <title>Tutoriel Google Maps</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <!-- Elément Google Maps indiquant que la carte doit être affiché en plein écran et
            qu'elle ne peut pas être redimensionnée par l'utilisateur -->
            <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
            <!-- Inclusion de l'API Google MAPS -->
            <!-- Le paramètre "sensor" indique si cette application utilise détecteur pour déterminer la position de l'utilisateur -->
            <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
            <script type="text/javascript">
     
     
    			function getParam( $name, $defaultValue = null ){
    				if ( isset( $_GET[$name] ) ){
    					return $_GET[$name] ;
    				}else if ( isset( $_POST[$name] ) ){
    					return $_POST[$name] ;
    				}else{
    					return $defaultValue ;
    				}
    			}
     
                var lon = <?php echo floatval( getParam( 'lon', 2.0 ) ) ?> ;
                var lat  = <?php echo floatval( getParam( 'lat', 49.0 ) ) ?> ;
     
                function initialiser() {
     
    				var latlng = new google.maps.LatLng(lat, lon);
                    //objet contenant des propriétés avec des identificateurs prédéfinis dans Google Maps permettant
                    //de définir des options d'affichage de notre carte
                    var options = {
                        center: latlng,
                        zoom: 19,
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                    };
     
                    //constructeur de la carte qui prend en paramêtre le conteneur HTML
                    //dans lequel la carte doit s'afficher et les options
                    var carte = new google.maps.Map(document.getElementById("carte"), options);
                }
            </script>
        </head>
     
        <body onload="initialiser()">
            <div id="carte" style="width:100%; height:100%"></div>
        </body>
    </html>

  8. #8
    Membre �m�rite
    Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Par d�faut
    Re,

    Je t'ai donn� un exemple de traitement de cette variable en PHP vu que tu parlais de $_GET['latitude'] au d�but.

    Voici l'exemple complet, avec le zoom en bonus :

    Code php : 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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
    function getParam( $name, $defaultValue = null ){
    	if ( isset( $_GET[$name] ) ){
    		return $_GET[$name] ;
    	}else if ( isset( $_POST[$name] ) ){
    		return $_POST[$name] ;
    	}else{
    		return $defaultValue ;
    	}
    }
    ?>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
     
        <head>
            <title>Tutoriel Google Maps</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <!-- Elément Google Maps indiquant que la carte doit être affiché en plein écran et
            qu'elle ne peut pas être redimensionnée par l'utilisateur -->
            <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
            <!-- Inclusion de l'API Google MAPS -->
            <!-- Le paramètre "sensor" indique si cette application utilise détecteur pour déterminer la position de l'utilisateur -->
            <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
            <script type="text/javascript">
                 var lon = <?php echo floatval( getParam( 'lon', 2.0 ) ) ?> ;
                 var lat  = <?php echo floatval( getParam( 'lat', 49.0 ) ) ?> ;
                 var zoom  = <?php echo intval( getParam( 'z', 19 ) ) ?> ;
     
                function initialiser() {
     
    		var latlng = new google.maps.LatLng(lat, lon);
                    //objet contenant des propriétés avec des identificateurs prédéfinis dans Google Maps permettant
                    //de définir des options d'affichage de notre carte
                    var options = {
                        center: latlng,
                        zoom: zoom,
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                    };
     
                    //constructeur de la carte qui prend en paramêtre le conteneur HTML
                    //dans lequel la carte doit s'afficher et les options
                    var carte = new google.maps.Map(document.getElementById("carte"), options);
                }
            </script>
        </head>
     
        <body onload="initialiser()">
            <div id="carte" style="width:100%; height:100%"></div>
        </body>
    </html>

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Par d�faut
    en effet, cela fonctionne parfaitement, et je me rends compte que je suis loin d'avoir les capacit�s d'�crire ce genre de chose. Je n'y trempe vraiment pas assez souvent.

    Cela m'aide vraiment bien, tous mes remerciements !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [XL-2010] Attribuer une valeur � une variable en fonction d'une autre
    Par jkiii dans le forum Macros et VBA Excel
    R�ponses: 5
    Dernier message: 13/11/2013, 19h17
  2. Faire passer plusieurs variables � une fonction
    Par goldor dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 20/10/2008, 17h03
  3. [POO] Comment passer une variable � la fonction Date() ?
    Par Valki dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 12/10/2008, 19h42
  4. [XSLT] Passer une variable � la fonction XPath document()
    Par lisael dans le forum XSL/XSLT/XPATH
    R�ponses: 5
    Dernier message: 29/01/2008, 21h59
  5. Passer une variable python en javascript?
    Par Sayrus dans le forum Zope
    R�ponses: 6
    Dernier message: 19/06/2006, 10h29

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