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 averti
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    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

    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 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 averti
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    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

    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 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 averti
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    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

    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 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 averti
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    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 ??
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    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 ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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