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

Langage PHP Discussion :

Variables et modal


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 39
    Par défaut Variables et modal
    Bonjour,
    ça fait un petit moment que je cherche. J'aimerais passer une variable à un modal. Sachant que la page ne se recharge pas ni rien, je ne peux pas passer par des variables POST et GET. (?)
    J'ai plusieurs liens et j'aimerais que lorsque je clique sur le lien 1 la variable devienne 1, le lien 2 --> 2, etc.
    Ma modal s'ouvre grâce à du JS.
    J'ai réussi par le biais du JS à changer le titre de la modal en ma variable (1,2,..)
    Avec cette instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('.modal .modal-title').html($title);
    Mais impossible de l'envoyer clairement dans une variable
    Auriez vous des idées ?

    J'ai pensé à un truc du style
    ...


    Merci beaucoup.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Désolée, mais j'ai rien compris de ce que tu veux faire.

    Une modal c'est une div qui s'affiche par dessus le reste, non ? Si c'est fait en JS, le PHP est hors-course depuis un certain temps (sauf si tu fais de l'AJAX)
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 39
    Par défaut
    Bonjour, merci de ta réponse tout d'abord.

    J'ai "réussi" en AJAX à "envoyer ma variable dans le modal ( qui oui est une fenêtre qui s'ouvre au dessus sans recharger la page ).

    Si je mets ma variable comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $(document).on('click', '.open-series', function() {
                    var $id = $(this).data('id');
                      $.post( "index.php", { id: $id })
    				  .done(function( data ) {
    					console.log(data);
    				  }).fail(function() {
    					console.log("error");
    				  });
                });
    et que je mets ceci dans le php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php var_dump($_POST); ?>
    La console d'inspection me donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      array(1) {
      ["id"]=>
      string(8) "MaVariable"
    }
    Mais la page m'affiche : " array(0) { } ".

    J'espère que cette fois tu/vous comprendrez.

    Merci.

  4. #4
    Membre chevronné Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Par défaut
    Dans ta console d'inspection tu as un retour correct. Ton code AJAX appel bien ta page index.php en lui fournissant un paramètre POST qui est ensuite affiché.

    Quand tu dis :

    Mais la page m'affiche : " array(0) { } ".
    Qu'est-ce que tu fais ? Je suppose que tu essaies d'accéder directement à ta page index.php, si oui alors ton résultat est correcte. Lorsque tu accèdes à ta page directement, il n'y a pas de paramètre POST envoyé d'ou l'affichage d'un tableau vide.
    Ce qui me pousse à croire que tu voudrais peut être utilisé des variables de sessions ?
    Voir la doc sur ce sujet : http://www.php.net/manual/fr/intro.session.php

  5. #5
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 39
    Par défaut
    Bonjour, merci à tous pour vos réponses, j'ai trouvé la solution à mon problème.
    Je vais l'expliquer.
    Tout d'abord un modal est composé comme une page quelconque d'entête, corps et pied de page.
    Dans l'entête je souhaitais afficher par exemple le titre d'un album et dans le body, les chansons présentes dedans. J'ai donc utilisé de l'ajax, je vais essayer d'être le plus clair possible.

    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
     
    // au clic sur un lien ayant comme classe open
    $(document).on('click', '.open', function() {
    // je récupère la variable présente dans la balise, déclarée comme ceci :
    // data-id="Album"
    var MonAlbum = $(this).data('id');
    $.ajax({ 
    //la méthode choisie 
    type: "POST", 
    //l'URL de la page où se trouve la requête
    url: "Page.php",
    data: "id="+MonAlbum, // id a faire passer
    //si on récupère correctement 
    success : function(contenu,etat){ 
    //on récupère le résultat dans une div ayant comme ID content
    $("#content").html(contenu);
    //on rentre le titre de l'album dans l'entête
    $("#myModalLabel").html(MonAlbum);
    } 
    }).responseText; 
    });
    Voilà voilà, merci à tous pour votre aide, en espérant que cela aide quelqu'un.

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

Discussions similaires

  1. Variable POST vers popup modale ?
    Par elpatriota dans le forum jQuery
    Réponses: 7
    Dernier message: 17/10/2012, 11h17
  2. JQuery Modal et variable en get
    Par l.laurent60 dans le forum jQuery
    Réponses: 1
    Dernier message: 18/07/2012, 07h41
  3. Passage de variable dans une fenêtre modale
    Par arthuro45 dans le forum jQuery
    Réponses: 5
    Dernier message: 25/03/2011, 08h34
  4. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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