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 dans une fonction


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut Variable Globale dans une fonction
    Bonjour,

    J'ai un <a href="" onClick="mafonctionjavascript()"> dans mon HTML

    Dans mon code javascript j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    fonctiongeneral_appelé_a_chaque_chargement de page() {
     
     var url = "http://www.examples.com";
     
     mafonctionjavascript() {
        url = "http://www.modifier.com";
     }
     
     codes.....
     
    }
    J'aimerais que dans mafonctionjavascript, je puisse modifier la variable url pour pouvoir utiliser l'url http://www.modifier.com dans le reste de mon code javascript.


    Merci encore !

  2. #2
    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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    url doit être un string ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
     var url = " http://www.examples.com;"
     
     mafonctionjavascript() {
        url =" http://www.modifier.com"
     }
    heu c'est quoi cette imbrication de fonctions ???

    une variable globale se declare en dehors des fonctions ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var globale="hello"
     
    function one(){alert(globale);
                         globale="bonjour"
                         two()
                       }
     
    function two(){alert(globale)}
     
    window.onload=one()

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    L'imbrication de fonction, je n'ai pas le choix, c'est pour un module netvibes, il y a quelques règles à respecter, donc ne change pas le code entre les 2 fonctions ^^, et répond à ma premiere question svp

  4. #4
    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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ben j'ai déja répondu si tu avait lu ... une variable globale ne se decalre pas dans une fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    var url = "http://www.examples.com";
    fonctiongeneral_appelé_a_chaque_chargement de page() {
     
     
     
     mafonctionjavascript() {
        url = "http://www.modifier.com";
     }
     
     codes.....
     
    }
    ou alors si tu dois vraiment la declarer dans la focntion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    window[url] = "http://www.examples.com";
    fonctiongeneral_appelé_a_chaque_chargement de page() {
     
     
     
     mafonctionjavascript() {
        url = "http://www.modifier.com";
     }
     
     codes.....
     
    }

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Ok merci, dsl je n'avais pas compris.
    J'ai utilisé ta premiere proposition avec var url.. à l'extérieur de la fonction.

    Bon ca ne marche toujours pas.

    En faite voilà comment ca fonctionne :

    - J'ai ma fonction javascript général qui est appelé lors de chaque changement ds la page (fonctiongeneral_appelé_a_chaque_chargement de page(), appelons la general() )

    - J'ai mon lien <a href="" onClick="mafonctionjavascript()">

    Lorsque je clique dessus, la fonction général() est appelé en + de la fonction "mafonctionjavascript()", c'est le module netvibes qui veut ca.

    Moi j'ai besoin que lorsque je clique le <a href>, la variable url change pour le reste du code javascript.

    PS : il n'est pas possible d'appeler manuellement la fonction general() dans le code javascript

  6. #6
    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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    mouarf ... tu aurais commencé par exposer le but on aurait gagné du temps ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    monurl="http://....."
     
    function mafonctionjavascript(){
    self.location.href=monurl
    }
     
    <a href="" onClick="mafonctionjavascript()">
     
    <a href="" onClick="monurl='about:blank';mafonctionjavascript()">

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    ok merci mais tu peux m'expliquer ce que tu fais exactement (comme ca je saurais le refaire) ? ou est l'url "modifier.com" ?

  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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ben mon url est un string ...

    et l'instruction de renvoi sur une page est window.loaction.href

    au départ j'attribue la chaine du lien dans la variable globale...
    dans le premier lien je lance la focntion qui declenche le lien
    dans le second lien je modifie la vairable globale puis je lance la focntion ...
    donc une fois que tu auras clické sur le second lien; le premier lien aura le même effet

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    je savais bien que j'avais fais une betise en appelant les variables url xD

    En faite, la variable url n'a rien avoir en quoi que ce soit avec un changement de page en cours (désolé c'est ma faute). C'est juste une variable que j'ai besoin de changer lorsque je clique sur mon lien.

    (donc bien sur, ca ne marche toujours pas ^^ mais on s'en approche )

  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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    monurl="coucou"
     
    function mafonctionjavascript(){
    alert(monurl)
    }
     
    <a href="" onClick="mafonctionjavascript()">
     
    <a href="" onClick="monurl='bonjour';mafonctionjavascript()">

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Pourquoi 2 <a href> ? Je n'en utilise qu'un et je n'en affiche qu'un.

    (je haiiis les problémes sur lesquels ont reste plantés des heuuuuress ^^^).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    monurl="coucou"
     
    function general() {
     
      function mafonctionjavascript(){
                  alert(monurl);
       }
     
    document.write(monurl);
     
    }
    <a href="" onClick="monurl='bonjour';mafonctionjavascript()">
    Mon objectif est d'afficher "bonjour" au niveau du document.write

  12. #12
    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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    he là ton document.write il ne s'execute qu'une fois au chargement ...

    sincèrement je ne capte rien à ce que tu veux faire ...

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    je vais t'expliquer en détail.

    Je fais un module netvibe.

    Avec netvibe, la fonction javascript qui est executé à chaque changement ds l'onglet est la fonction que j'appele general().

    A la base, j'affiche un flux rss dans mon onglet netvibes (flux rss qui a comme adresse url à la base la variable globale "url").

    J'ai un lien (<a href>) sous mon flux rss.
    Lorsque je clique sur ce lien, je veux que le flux rss change (la variable url).

    Donc en cliquant sur le lien, il faut que ma variable url change pour tout le code javascript dans la fonction general() (puisque l'affichage du flux rss se fais avec le javascript et un petit peu de Ajax, que je connais très peu d'ailleurs).

    Jusque ici, tout s'affiche correctement, mais lorsque je clique sur le lien, le flux rss ne change pas.

  14. #14
    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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    le principe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    <html>
    <head>
    <script type='text/javascript'>
    var monurl="default"
    function showurl(){alert(monurl)}
    </script>
    </head>
    <body>
    <a href="" onclick="monurl='hello'"/>cliquez ici pour changer la variable globale à hello, puis cliquez sur le bouton pour vérifier</a>
    <a href="" onclick="monurl='bonjour'"/>cliquez ici pour changer la variable globale en bonjour, puis cliquez sur le bouton pour vérifier</a>
    <input type="button" onclick="showurl()" value="vérifier" />
    </html>
    a toi de l'adapter ..

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Tout ca j'ai bien compris, mais dans mon cas ca ne marche pas (changer la variable globale dans le <a href>) :s
    Et vraiment je ne vois pas comment faire ... si d'autres ont des idées ?

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 109
    Points : 104
    Points
    104
    Par défaut
    Ca ne fonctionnait pas car tu déclarais ta variable dans la fonction general. Mais si tu l'externalise, ça devrait fonctionner, normalement.

  17. #17
    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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ben je vois pas ce que ton cas aurait de rédibitoire ???

    dasn la fonction modifie window[monurl] et pas mon url ...

Discussions similaires

  1. Assignation d'une variable globale dans une fonction .
    Par moithibault dans le forum Général Python
    Réponses: 11
    Dernier message: 27/12/2010, 10h54
  2. Récupérer un variable globale dans une fonction.
    Par toufou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/08/2010, 14h42
  3. [rendre une variable globale dans une fonction]
    Par emilek dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 28/07/2009, 18h11
  4. Changer valeur variable global dans une fonction callback
    Par bog333 dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 02/10/2008, 15h14
  5. Variables globales dans une fonction?
    Par Death83 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/07/2006, 01h53

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