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 :

communiquer depuis une popup vers la fenetre mère, la méthode idéale ?


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 21
    Points : 12
    Points
    12
    Par défaut communiquer depuis une popup vers la fenetre mère, la méthode idéale ?
    Bonjour à tous,

    Petit nouveau ici, et de surcroît débutant dans le monde du développement web; j'ai un petit souci de mise en œuvre sur un site que je développe à mes heures perdues smile

    Je vous accorde que le mélange des 3 langages (HTML, JS et PHP) me perturbe légèrement, surtout les principes d’exécution Client, Serveur ... (mais ça commence à bien rentrer smile )

    Allez j'arrête de tourner autour du pôt et je vous remercie par avance si vous lisez jusqu'au bout la description de ma problématique.

    Voici comment est conçu mon site (en PHP) :

    1. Une fenêtre dans laquelle est restituée un tableau (4 colonnes, 10 lignes) à l'aide d'une requête SQL, les données étant en base.
    2. L'utilisateur doit pouvoir modifier ces données et les sauvegarder en base.
    3. J'ai donc crée un bouton permettant d'ouvrir une popup modale (c'est un choix mûrement réfléchi) qui affiche le même tableau mais avec des input type "TEXT"
    Les infos sont passées de la fenêtre mère à la fenêtre fille par une mise en session du tableau
    4. Mon problème est que je ne sais pas trop comment renvoyer à la fenêtre mère les données (je ne me pose pas la question de savoir si les données ont été modifiées)
    J'ai quelques pistes (window.returnValue, champs hidden, ....) mais je suis sur qu'il doit y avoir plus simple, plus propre et surtout plus astucieux.

    Voici donc concrètement comment j'ai fait.

    Fenêtre mère
    1. requete SQL -> j'enrichis ma variable php $tab[..][..]
    2. j'affiche mes 40 valeurs de $tab
    3. je stocke $tab en session --> $_SESSION['tab'] = $tab; dans l'idée de récupérer les données côté popup
    4. mon bouton ouvre la popup modale, et je lance une requete en session --> $tab = $_SESSION['tab'];
    5. et là je bloque ! comment renvoyer les valeurs (modifiée ou non, peu importe) à la fenêtre mère ? tout en fermant la fenêtre fille ?

    quelques idées :

    mettre sur la fenêtre mère, 40 champs hidden (4 col x 10 lig) dans un form, et à l'aide du bout de code JS suivant appliqué sur mon bouton validé de la popup je peux récupérer le tout :

    une boucle i,j (col/ligne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    tab[ i][j] = window.document.getElementById(i+'_'+j).value;
    window.returnvalue = tab
     
    window.close();
    et ensuite dans ma fenêtre mère je lance une requête POST pour récupérer les données et écraser le tableau $tab

    Mais ça me parait un peu lourd et un peu tiré par les cheveux non ?

    Donc voilà, que me conseilleriez-vous ? une méthode toute adaptée ?

    Merci d'avance pour vos réponses

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    Bonsoir totale_eclipse.

    Tu sais sans doute que le Php en lui-même, étant un langage s'exécutant côté serveur, ne peut t'aider à coder cette fonctionnalité.
    Je constate que tu as vite réalisé qu'il allait te falloir une technologie autre, à savoir javascript.

    Tout d'abord, tu dois savoir qu'en javascript, tu as une propriété sympa qui s'appelle window.opener, qui pointe vers l'object window qui a servi à l'ouverture de la popup. Tu peux donc toujours garder un lien entre les fenêtres mères et filles.

    Juste avant de fermer ton popup, essaie donc un code du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    opener.document.location = opener.document.location;
    window.opener.refresh();

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/02/2010, 09h01
  2. Réponses: 0
    Dernier message: 11/03/2009, 12h23
  3. fenetre ouverture depuis une popup
    Par djolof dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 26/01/2009, 13h02
  4. Rafarichir page mère depuis une popup (Modale)
    Par fix105 dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 12/03/2008, 17h38
  5. lier une popup a sa fenetre mère
    Par websyst dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/05/2006, 12h05

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