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 :

Erreur : Objet attendu


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 566
    Par défaut Erreur : Objet attendu
    Bonjour tout le monde,

    Je ne connais rien au Javascript, mais j'en ai besoin dans cette page.
    J'ai une map Google dans ma page et je veux rajouter des markers dessus. J'ai donc mis dans un fichier XML (qui est dans le même dossier que la page) les points que je veux rajouter. J'ai créée mes fonctions (en cherchant et lisant du code à droite et à gauche).
    Malheureusement, il doit me manquer une petite bricole car IE me renvoie une erreur dans le script de ma page :
    ligne : 86
    car : 11
    erreur : objet attendu
    code : 0
    URL : ma page en local

    Voici le code ci-dessous. Merci aux volontaires pour trouver ma supposée petite erreur :
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    <html>
      <head>
        <title>Mon site, Géolocalisation</title>
    	<style type="text/css" >
    		html,body {
    			background-color : white; 
    			margin: 0px 0px 0px 0px ;
    		}		
    		div{
    			width : 100%;
    			height : 100%;
    		}
    	</style>
    	<script language='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 = param.split("&");
     
       		 for(i=0;i<first.length;i++){
            		second = first[i].split("=");
            		nom[i] = second[0];
            		valeur[i] = second[1];
    	  		valeur[i] = Remplace(valeur[i],"%20"," ");
        		}
     
     
       		function Remplace(expr,a,b) {
          			var i=0
          			while (i!=-1) {
             		i=expr.indexOf(a,i);
             		if (i>=0) {
                			expr=expr.substring(0,i)+b+expr.substring(i+a.length);
                			i+=b.length;
             			}
          			}
          			return expr
       		}
     
    		//load();
    	</script>
        	<script src="http://maps.google.com/maps?file=api&amp;v=2.x&amp;key=ABQIAAAAuod7-2b83lmkD7SNsBRvbBStzKCS3DTZyt5bP98UdB1NzGGnEBTF7CTG60tF4aY_5hDhoku3D01mAA" type="text/javascript"></script>
    	<script type="text/javascript">
        	//<![CDATA[
     
        	var map = null;
        	var geocoder = null;
     
        	function load() {
          		if (GBrowserIsCompatible()) {
            		map = new GMap2(document.getElementById("map"));
    	  		map.addControl(new GLargeMapControl());
            		geocoder = new GClientGeocoder();
            		showAddress(valeur[0]); 
     
          		}
        	}
     
        	function showAddress(address) {
          	if (geocoder) {
            	geocoder.getLatLng(address,function(point) {
                		if (!point) {
                  		//alert(address + " not found");
                		} else {
                  		map.setCenter(point, 15);
                  		var marker = new GMarker(point);
                  		map.addOverlay(marker);
                		}
              		});
          		}
        	}
     
          // Read the data from example.xml
          GDownloadUrl("example.xml", function(doc) {
            var xmlDoc = GXml.parse(doc);
            var markers = xmlDoc.documentElement.getElementsByTagName("marker");
     
            for (var i = 0; i < markers.length; i++) {
              // obtain the attribues of each marker
              var addresslue = parseFloat(markers[i].getAttribute("plouf"));
              // create the marker
              ShowAddress(addresslue);
            }
          });
     
     
     
        	//]]>
        	</script>
     
      </head>
     
      <body onload="load()" onunload="GUnload()">
    	<div id="map"></div>	
      </body>
     
     
    </html>

  2. #2
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Bonjour,

    il a une erreur a gérer à ce niveau :

    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
        		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 = param.split("&");
     
       		 for(i=0;i<first.length;i++){
            		second = first[i].split("=");
            		nom[i] = second[0];
            		valeur[i] = second[1];
    	  		valeur[i] = Remplace(valeur[i],"%20"," ");
        		}
    En effet, si aucun paramètre n'est passé dans l'URL (pas de ?...), le tableau first contient un élément vide (un espace je suppose) et du coup la fonction "Remplace" plante

    L'application plante aussi ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var markers = xmlDoc.documentElement.getElementsByTagName("marker");
    Il faut tester si xmlDoc est bien ouvert et valide

    Doit y en avoir d'autre mais t'y verra déjà plus clair peut-être

    ++
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  3. #3
    Membre Expert
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 566
    Par défaut
    Citation Envoyé par Arnaud F. Voir le message
    Bonjour,

    il a une erreur a gérer à ce niveau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        		var nom=new Array();
        		var valeur=new Array();
    [...]
    En effet, si aucun paramètre n'est passé dans l'URL (pas de ?...), le tableau first contient un élément vide (un espace je suppose) et du coup la fonction "Remplace" plante
    ++
    Pas de problème de ce côté, j'envoie comme il faut l'URL avec les paramètres.

    Citation Envoyé par Arnaud F. Voir le message
    L'application plante aussi ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var markers = xmlDoc.documentElement.getElementsByTagName("marker");
    Il faut tester si xmlDoc est bien ouvert et valide

    Doit y en avoir d'autre mais t'y verra déjà plus clair peut-être

    ++
    Là c'est tout à fait possible, parce que je ne sais pas si c'est fait.
    La ligne du dessus n'ouvre-t'elle pas le document ?
    Par ailleurs, je pense que le document est à la bonne place (dans le même dossier) et qu'il est valide car je l'ai copié.

    ce qui me pose surtout problème c'est dans cette fonction, car je ne sais pas si je lis bien le fichier XML et si c'est tout bien renvoyé.

    merci d'avoir pris le temps de répondre.

    Personne d'autres n'a une idée ?

    Pierre

  4. #4
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Pourrais-tu nous fournir le XML qui va avec?

    J'ai tenté un débuggage rapide à midi et tout plantait sur les deux instructions que j'ai citées

    ++
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  5. #5
    Membre Expert
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 566
    Par défaut
    Citation Envoyé par Arnaud F. Voir le message
    Pourrais-tu nous fournir le XML qui va avec?

    J'ai tenté un débuggage rapide à midi et tout plantait sur les deux instructions que j'ai citées

    ++
    Bonjour

    Voici le fichier example.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <markers>
     <marker plouf="10 rue gilibert, 69002 Lyon"/>
     <marker plouf="40 cours suchet, 69002 lyon"/>
     <marker plouf="10 cours charlemagne, 69002 Lyon"/>
    </markers>
    La page est appelé depuis Access avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        strURL = "file:///C:/GeoLoc/src2.htm?adresse="
        strURL = strURL & Me.Adresse & " ,+ " & Me.CP & "+" & Me.Ville
        Me.WebBrowser.Navigate strURL
    les champs Adresse, CP et Ville contiennent bien des données et le code fonctionne parfaitement si je n'ai pas la partie XML à lire.

    Merci d'avoir étudié le cas.

    Pierre Dumas

  6. #6
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Je l'avais pas vu avant, mais il y a une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function showAddress() {}
    ShowAddress();
    Il y a comme un souci a l'appel
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

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

Discussions similaires

  1. Erreur : Objet attendu
    Par fearless dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/10/2006, 20h15
  2. [POO] Erreur objet attendu - Help
    Par REMACC1 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/09/2006, 11h50
  3. [Erreur] Objet attendu !?
    Par Lung dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/07/2006, 10h13
  4. [Erreur]Objet attendu ?
    Par Baptiste Wicht dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/06/2006, 17h59
  5. Réponses: 9
    Dernier message: 31/05/2005, 13h38

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