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 :

Appel de fonction en Javascript


Sujet :

JavaScript

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 1
    Par défaut Appel de fonction en Javascript
    Bonjour tout le monde,

    Je viens de rencontrer un petit problème lorsque je fais appel a ma fonction choix() qui est imbriquée dans une autre fonction anonyme. La console du JavaScript me renvoie ce message d'erreur :

    Uncaught ReferenceError: choix is not defined
    En effet, le rôle de ma fonction choix() est d'affecter les valeurs que je récupère dans un tableau pour la fonction L.maker(). Alors c'est pour cette raison que j'ai fait cette imbrication, mais apparemment ça ne marche pas. Voila le JavaScript de ma page :

    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
     
    window.onload = function () {
        var map = L.map('map').setView([36.66842,3.69141],10);
     
        L.tileLayer('MapQuest/{z}/{x}/{y}.png', {
           attribution: '© <a href="[http://osm.org/copyright]">OpenStreetMap</a> contributors'
        }).addTo(map);
     
        var j=0;
        function choix(matricule)
        {
            if(matricule==<?php  if(isset($_SESSION['mat']) and !empty($_SESSION['mat']) ){ echo $_SESSION['mat'];}else{echo "matricule";} ?>)
         { 
             alert("egale");
     
             L.marker([point[j][0],point[j][1]]).addTo(map).bindPopup('A pretty CSS3 popup]. <br> Easily customizable.'); // Ce bout de code appartient a la fonction anonyme window.onload = function ()
     
             j++;
         }
         else
         {
             alert("non");
             var form= document.getElementById("formul");
             form.action="localiser.php?page=localiser";
            <?php if(isset($_POST['matricule'])){ $_SESSION['mat'] = $_POST['matricule']; }?>
             form.submit();
          }
        };
     
       map.on('dragend', function latlng()
       {
           var cordonnee = document.getElementById("lat");
           cordonnee.value = map.getCenter().lat;
           cordonnee = document.getElementById("lng");
           cordonnee.value = map.getCenter().lng;
       });
       map.on('zoomend', function latlng()
       {
           var cordonnee = document.getElementById("lat");
           cordonnee.value = map.getCenter().lat;
           cordonnee = document.getElementById("lng");
           cordonnee.value = map.getCenter().lng;
       });
     
    };
    Merci d'avance pour votre réponse !

  2. #2
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Bonsoir,

    ça ne marche pas car le mot-clé function donne la même portée que le mot-clé var. Pour moi, la façon la plus simple de contourner le problème est de faire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.choix = function(matricule) { ... }
    En rattachant choix à l'objet window, on la rend globale, elle peut donc être utilisée partout.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. lien sur un appel de fonction en javascript
    Par gloglo dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/11/2007, 09h40
  2. comment appeler une fonction JAVA en JAVASCRIPT ?
    Par heleneh dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 13/09/2005, 12h21
  3. [Javascript] Appeler une fonction d'une fenêtre parente
    Par TekP@f dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/08/2005, 11h33
  4. Comment appeler une fonction JavaScript depuis Delphi ?
    Par Alfred12 dans le forum Web & réseau
    Réponses: 4
    Dernier message: 17/06/2005, 18h15
  5. Appel de fonction javascript
    Par lepierre dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/11/2004, 14h28

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