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 :

[Thickbox] Passer des paramètres d'URL dans un JS


Sujet :

JavaScript

  1. #1
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut [Thickbox] Passer des paramètres d'URL dans un JS
    Bonjour,
    sur cette page, le lien du bouton more détail (dans les bloc de features) comprends des paramètres que j'ai dû insérer pour la génération à la volée (via Thickbox) de l'iframe, mais ils posent problème au web_id généré en fin de paramètre.
    Donc ma question est:
    Est-il possible de transférer ces paramètres d'URL (?KeepThis=true&TB_iframe=true&height=460&width=550) dans le JS de Thickbox et si oui comment m'y prendre (je précise que je ne connais tous juste les bases de la prog JS et encore...)

  2. #2
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Oui, cela semble possible vu le code de la thickbox.
    En particulier, tu as cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var a = this.href || this.alt;
    qui récupère l'URL du lien.
    En revanche, pour récupérer les paramètres, il faudra modifier la suite du code.
    L'extraction des paramètres GET est expliquée ici.
    Attention toutefois que ces paramètres sont sous forme de chaînes, il faudra donc retyper en booléen :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var KeepThis = KeepThis=='true';
    par exemple.
    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

  3. #3
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Merci ça fonctionne mais qu'au premier clic :/

    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
    	var KeepThis = KeepThis=='true';
    	var TB_iframe = TB_iframe=='true';
    	var height = height=='460';
    	var width = width=='550';
     
    	// On enlève le ?
        param = KeepThis=true&TB_iframe=true&height=460&width=550;
     
        // On sépare le paramètres....
        // first[0] est de la forme param=valeur
     
        first = param.split("&");
     
        for(i=0;i<first.length;i++){
            second = first[i].split("=");
            nom[i] = second[0];
            valeur[i] = second[1];
        }

  4. #4
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Déjà, il y a un truc que je ne comprends pas (ou que j'ai mal compris depuis le début) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class="more thickbox" href="/DelosBin/Delos.dll/ServePage?URL=en/Emails.htm&amp;WEB_ID=333640310&amp;Email={$Email}"><span>More details</span></a>
    Le href ne contient pas les paramètres ?KeepThis=true&TB_iframe=true&height=460&width=550.

    Ensuite, lorsque tu passes ces paramètres dans l'URL, l'ordre est le suivant :
    1) on récupère l'ensemble des paramètres (en me basant sur la variable a du code de la thickbox) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var params = a.split('?')[1]
    2) ensuite, on extrait les paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    first = params.split('&');
    puis on exécute la boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(i=0;i<first.length;i++){
        second = first[i].split("=");
        nom[i] = second[0];
        valeur[i] = second[1];
    }
    et ensuite, ce sont les valeurs de nom[i] qu'il va falloir traiter en fonction du type attendu.

    Dans le code que tu as donné dans ton post précédent, les variables keepThis etc. ne sont pas connues lorsque tu les traites.
    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

  5. #5
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Merci pour les explications.

    Déjà, il y a un truc que je ne comprends pas (ou que j'ai mal compris depuis le début) :
    Ben c'est justement ce que je souhaitais obtenir, donc je les ai retirés.

    Bon encore une fois je suis bloqué faute d'incompétence en JS, ça marche pas et je n'ai même pas une idée d'où ça pourrait venir.
    Bref si on me donne pas le code exact je suis perdu...

Discussions similaires

  1. [PHP 5.0] Passer des paramètres en POST dans une url ?
    Par HELKARROUMI dans le forum Langage
    Réponses: 1
    Dernier message: 26/06/2013, 19h10
  2. Réponses: 11
    Dernier message: 22/02/2010, 22h03
  3. Réponses: 0
    Dernier message: 29/07/2009, 16h39
  4. Passer des paramètres à une fonction dans before_filter
    Par abir84 dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 27/01/2008, 19h40
  5. Passer des paramètres à l'URL de retour d'une action
    Par et.rond.et.rond dans le forum JSF
    Réponses: 2
    Dernier message: 03/08/2006, 23h03

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