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 :

variable globale dont je n'arrive pas à visualiser le contenu


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut variable globale dont je n'arrive pas à visualiser le contenu
    Salut tout le monde,

    je développe un fonction en javascript, dont voilà le code:
    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
    var lat= new Array();
    var lng= new Array();
    var theData='';
    function latlng(address) {
    	var address;	
    	alert(tab_adres2010_2.length); alert(lat);
    	for(var i=0;i<=tab_adres2010_2.length;i++){
    		address= tab_adres2010_2[i]; //alert(address);
           if (geocoder) {
            geocoder.getLatLng(
              address,
              function(point) {
                if (!point) {
                  //alert(address + " not found");
                } else {
     
    			lat[i] = point.lat().toFixed(7); 
    			lng[i] = point.lng().toFixed(7);  theData= theData+lat[i]+'/'+lng[i]+'/'; alert ('theData   '+theData);
    			//alert('addresse  '+ tab_adres2010_2[i] +'  latitude    '+lat[i] + '  longitude  '+ lng[i]);
                }
              }	
            );
          }//if(geocoder)	  
    	}//for		
    }
    alert('laaaaaaa  '+theData);

    mais la variable theData affiche un undefined (alors que dans l'alert dans la boucle for, il affiche le bon contenu)
    est ce que quelqu'un a une idée???

  2. #2
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par wiama Voir le message
    mais la variable theData affiche un undefined (alors que dans l'alert dans la boucle for, il affiche le bon contenu)
    es-tu sûr que le problème vienne bien de theData ?

    Ne serait-il pas plutôt dû à address ?

    En effet, bien qu'il s'agisse déjà du paramètre de ta fonction, tu déclares une variable locale du même nom : essaye déjà d'enlever cette déclaration inutile

    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Non, par ce que address je l'utilise pour remplir la variable theData, et lors du for, je vois qu'elle est bien remplie.
    alors que si je sort de la fonction il ne reconnait pas sa valeur

  4. #4
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par wiama Voir le message
    Non, par ce que address je l'utilise pour remplir la variable theData
    Ah oui ?

    Mais laquelle ? Le paramètre de la fonction ou la variable locale ?

    Enlève la variable locale ou appelle la autrement (mais dans ce dernier cas, à quoi sert ton paramètre ?).

    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    S'il vous plait, concentrez vous sur la variable theData, elle est globale, je la remplie dans une fonction, et après elle est toujours vide

  6. #6
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par wiama Voir le message
    S'il vous plait, concentrez vous sur la variable theData, elle est globale, je la remplie dans une fonction, et après elle est toujours vide
    Donc c'est que tu ne l'as pas remplie ...

    Dommage que tu ne veuilles pas savoir pourquoi

    A+

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    l'alert qui affiche la variable theData à l'intérieur de la fonction dis bien qu'elle se remplie , et avec les bonne valeurs!!!

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Heu tu fais un alert après la declaration de la fonction ... mais la fonction as elle été lancée ??

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    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
    var Data='';
    function latlng(address) {
    	var address;	
    	alert(tab_adres2010_2.length); 
    	for(var i=0;i<=tab_adres2010_2.length;i++){
    		address= tab_adres2010_2[i]; //alert(address);
           if (geocoder) {
            geocoder.getLatLng(
              address,
              function(point) {
                if (!point) {
                  //alert(address + " not found");
                } else {		 	
    			lat[i] = point.lat().toFixed(7); 
    			lng[i] = point.lng().toFixed(7); 
    			//tt[i]= lat[i]+'/'+lng[i]+'/';
    			Data += lat[i]+'/'+lng[i]+'/'; 
    			alert ('tt   '+Data);
    			//alert('addresse  '+ tab_adres2010_2[i] +'  latitude    '+lat[i] + '  longitude  '+ lng[i]);
                }
              }	
            );
          }//if(geocoder)
    	}//for	
    	//alert(' data '+Data);
    	//return Data;
    }
     
    //document.write.latlng(tab_adres2010_2);
    function alr(){ 
    alert(Data);
    }
    et puis je fais ça pour les apeler:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" value="generer" onclick=" latlng(tab_adres2010_2); alr();  " />
    ???

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    peut être une petit tempo l'ajax du geocoder est peut être assychrone ...

    essaye en mettant le alert sur le click d'un autre bouton ...

Discussions similaires

  1. Variable globale statique ne l'est pas
    Par Invité dans le forum Débuter
    Réponses: 7
    Dernier message: 24/04/2010, 15h46
  2. je n'arrive pas à récupérer la valeur de ma variable globale
    Par beegees dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/03/2009, 14h24
  3. requête dont je n'arrive pas à regrouper les résultats
    Par mdr_cedrick dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/02/2008, 11h05
  4. J'arrive pas à extraire le contenu de MSDN.rar !
    Par zentaf dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/04/2007, 21h24
  5. Réponses: 13
    Dernier message: 19/10/2006, 19h14

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