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 :

recuperer des variables passées en get dans fichier js ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut recuperer des variables passées en get dans fichier js ?
    Bonjour à tous,

    est-il possible de récupérer des variables passées comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script type="text/javascript" src="js/monFichier.js?var1=un&var2=deux"></script>
    dans monFichier.js comme un fichier php les récupère avec $_GET ?

    Merci d'avance pour vos réponses

  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 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
    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 !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut
    Bonjour spaceFrog

    Merci pour le lien

    Finalement le plus simple semble être d'avoir des input type hidden dans la page et contenant les variables à passer, et de les récupérer au besoin dans le script.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var maVar=$("#maVar").val();
    ps : merci d'excuser l'utilisation de jQuery dans Forum javascript

  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 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
    ps : merci d'excuser l'utilisation de jQuery dans Forum javascript

    Ha bon pourquoi ???

    C'est quoi a ton avis JQuery ????

    JQuery c'est du javascript
    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 !

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut
    oui tout à fait d'accord spaceFroggy mais

    a) humour

    b) Par opposition à getElementById plus pur js pur jus

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Par défaut
    Citation Envoyé par Alexdezark Voir le message
    ...
    Finalement le plus simple semble être d'avoir des input type hidden dans la page et contenant les variables à passer, et de les récupérer au besoin dans le script.
    Ca n'est pas tout à fait la même chose.

    Tes hidden vont être partagés par l'ensemble de tes scripts, d'une part. D'autre part, tes scripts vont devoir connaitre au moins leurs ids.

    Si tu charges plusieurs script, tu devra mettre à jour chaque paramètre avant chaque load...

    Et pour finir : une FORM dans ou avant HEAD, ça va être du propre !

    Le plus simple est ce qui se faisait jusqu'alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <script ...>
    var parm1 = 'hé';
    var parm2 = 'wouai';
    </script>
    <script ... src='le/script/quiABesoinDeParms.js'></script>
    Qui reste jouable même en HEAD.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut
    Bonjour kernelfailure

    Merci de ta réponse.

    Tes hidden vont être partagés par l'ensemble de tes scripts
    En fait dans le cas qui me préoccupe les variables doivent être partagées par l'ensemble de mes scripts.

    D'autre part, tes scripts vont devoir connaitre au moins leurs ids.
    C'est pareil il faudra que mes scripts connaissent le nom des variables à utiliser.

    Et pour finir : une FORM dans ou avant HEAD, ça va être du propre !
    Bien sûr, mais pourquoi une Form ? et pourquoi dans ou avant Head ?

    Si j'en ai besoin dès l'initialisation de la page je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $(document).ready(function() {
    var var1=$("#var1").val();
    var var2=$("#var2").val();
    }
    les variables peuvent être récupérées où qu'elles se trouvent dans la page et ne nécessitent pas de Form.

    Ceci dit ta solution me convient parfaitement aussi, cela fait donc 2 solutions

    Merci de me dire si quelque chose cloche dans ma façon de récuperer mes variables.

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Merci de me dire si quelque chose cloche dans ma façon de récuperer mes variables.
    Oui : tu déclares tes variables dans une fonction anonyme, elles ne sont donc accessibles que dans cette fonction (et dans les fonctions appelées à l'intérieur).
    C'est peut-être ce que tu souhaites, sinon, il faut soit déclarer les variables en dehors de toute fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var var1, var2;
    $(document).ready(function() {
        var1=$("#var1").val();
        var2=$("#var2").val();
    }
    Soit les déclarer comme propriétés de l'objet window :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $(document).ready(function() {
        window.var1=$("#var1").val();
        window.var2=$("#var2").val();
    }
    ainsi, elles seront accessibles dans l'ensemble de ta page
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Par défaut
    Citation Envoyé par Alexdezark Voir le message
    C'est pareil il faudra que mes scripts connaissent le nom des variables à utiliser.
    Une variable est un conteneur. Un id a besoin d'un conteneur pour être transmis.

    Une variable peut être globale ou locale, suivant la manière dont le script l'aura prévu.
    En fixant une variable de manière globale, tu retire cette gestion du script. Et pourtant, il s'agit bien d'un paramètre de script, donc normalement, un besoin local.

    D'un point de vue architecture, je trouve plutôt inapproprié d'imposer à un client la déclaration globale de paramètres pour le besoin d'une interface qui n'aura pas nécessairement d'impact global.
    Surtout lorsque la déclaration et/ou l'affectation sont réellement un besoin local et sont ponctuel

    Autant faire que le global reste global (besoin d'interopérabilité) et distinguer les paramètres d'interfaces. A l'extrême, dans le cas contraire, on peut très bien remettre en question l'utilisation des paramètres des fonctions et des méthodes.

    Citation Envoyé par Alexdezark Voir le message
    Bien sûr, mais pourquoi une Form ? et pourquoi dans ou avant Head ?
    Un "INPUT type=hidden" tu dis, donc un FORM.
    Si les choses n'ont pas changé, point de elements sans FORM. De ce que je me souviens, déclarer un INPUT à l'extérieur d'un FORM le rendait inopérant et inaccessible.

    Un script s'utilise aussi en HEAD. Dans le cas où tu as un script qui doit être lancé à la construction de la page en HEAD. Tu va mettre un INPUT dans le HEAD ?

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

Discussions similaires

  1. [Batch] recuperer des variables PHP dans mon batch
    Par fab22 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 08/05/2012, 10h49
  2. Réponses: 1
    Dernier message: 10/03/2011, 15h01
  3. recuperer des variable javascript dans un script php
    Par bourbita.thameur dans le forum Langage
    Réponses: 4
    Dernier message: 28/05/2009, 19h49
  4. Recuperation des variables passées en GET
    Par highman dans le forum Langage
    Réponses: 3
    Dernier message: 25/01/2007, 16h41
  5. recuperer variables passées en GET
    Par vivian dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/08/2006, 20h48

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