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 :

Rafraichissement d'un popup par un autre popup


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut Rafraichissement d'un popup par un autre popup
    Bonjour,

    J'ouvre deux popup. Par l'intermédiaire d'un d'entre eux je mets à jours des données visibles dans le deuxième. Je souhaiterais une fois la mise à jour effectuée, lancer le raffraichissement du contenu du deuxieme popup par le premier ? . Est ce possible de faire cela ? Notamment détecter les popup ouverts et les raffraichir .

    Merci

  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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parent.nompopup.location.reload() ;
    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é
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut
    Merci pour ta réponse, mais quelle est la syntaxte pour recuperer le focus d'une fenêtre déja ouverte :

    J'ai fait cela pour récupérer une fenetre deja ouverte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var win = window.location.href="http://10.100.1.196/backoffice/OutilsCUA/TravauxVoirie/FileRecolement.php?txt_id=<?php echo $_SESSION['Id']?>";
    ... mais le popup dans lequel j'ai mis le code se substitue avec celui qui vient d'etre appelé, au final j'ai donc deux fenetres identiques (Popup2)

    J'aimerai donc simplement mettre la fenetre dans une variable puis ensuite effectuer le reload().

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    dans la fenêtre mère, il faut stocker les identifiants des 2 pop au moment de l'ouverture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pop1 = window.open("pop1.html"...);
    pop2 = window.open("pop2.html"...);
    Dans pop1 tu pourras faire par la suite directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    opener.pop2.location.reload();
    et dans pop2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    opener.pop1.location.reload();
    A+

  5. #5
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut
    Ok, j'ai fait un test pas trop concluant. Une partie de code de ma fenetre mere est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <TD  id='recolement' width='5px' onClick='var winFileRecolement = window.open("FileRecolement.php?txt_id=1","FileRecolement","width=330 height=500,left=500,top=400,location=no,status=no,toolbar=no,scrollbars=no,resizable=yes");'>
    Il y a un evement click qui ouvre un pop et j'ai defini une variable (winFileRecolement) pour memoriser le fenetre.

    Dans le code de mon pop, j'ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var winParent = window.opener;
    winParent.location.reload(); // fenetre mere se rafraichit bien
    winParent.winFileRecolement.location.reload(); // ne marche pas
    Voila, j'attends vos suggestions.
    Merci

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par mcdelay Voir le message
    Voila, j'attends vos suggestions.
    Inverse les 2 dernières lignes : si tu recharges d'abord la fenêtre mère, tu détruis du même coup l'identifiant de la pop
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var winParent = window.opener;
    winParent.winFileRecolement.location.reload();
    winParent.location.reload();
    A+

  7. #7
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut
    hum, merci encore mais ca n'a pas l'air de fonctionner. J'ai supprimé le rafraichissement de la fenêtre mère et j'ai le massage suivant :

    winParent.winFileRecolement.location à la valeur null ou n'est pas un objet...

    Il semble que winFileRecolement ne soit pas défini...

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par mcdelay Voir le message
    Il semble que winFileRecolement ne soit pas défini...

    Tu as essayé de le déclarer en variable globale (dans le head), en enlevant le "var" du onclick ?

    A+

  9. #9
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut
    Je viens de tester la declaration globale. J'ai affecté par défaut une valeur "File" a winFileRecolement, que je fais afficher à la fin de mon formulaire. Je me suis rendu compte que la valeur ne changait pas au moment de l'ouverture du popup. Le probleme vient donc de la, l'affectation dans l'evenement clic n'a pas l'air de marcher .. y aurait-il une autre solution ?

  10. #10
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par mcdelay Voir le message
    y aurait-il une autre solution ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var winFileRecolement;
    function OuvrePop() {
    winFileRecolement = window.open("FileRecolement.php?txt_id=1","FileRecolement","width=330 height=500,left=500,top=400,location=no,status=no,toolbar=no,scrollbars=no,resizable=yes");
    }
    </script>
    </head>
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <TD  id='recolement' width='5px' onclick='OuvrePop();'>
    A+

  11. #11
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut
    encore merci, mais toujours un souci. J'ai fait ce que tu m'as dit et j'ai meme ouvert les deux popup dans la fonction ouvrirpop. Je recupere bien la variable contenant "windows2" dans le popup1 par contre dés que je rafraichis popup1 (c'est la toute l'astuce) pour effectuer une action (chargement d'un fichier), il perd la valeur de la variable c'est à dire qu'il ne fait apparemment plus le lien avec la fenetre mere (qui stocke la variable contenant window2 : window.opener.win2). Si j'arrive a conserver cette variable au rechargement du pop1 je pourrais apres celui ci rafraichir le popup2.

    J'ai aussi essayé de mettre la variable contenant windows2 dans un controle input hidden et utiliser une variable SESSION pour conserver la valeur (qui est en fait un window) .. mais ca m'a l'air un peu tordu comme methode et puis stocker un window dans un controle n'a pas l'air de fonctionner...

    Pour etre un peu plus clair dans le contenu de mon appli, pop1 permet de charger un fichier et pop2 permet d'avoir le listing des fichiers déjà chargés, le but étant de rafraichir pop2 afin de visualiser les mises à jour.

  12. #12
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par mcdelay Voir le message
    Pour etre un peu plus clair dans le contenu de mon appli, pop1 permet de charger un fichier et pop2 permet d'avoir le listing des fichiers déjà chargés, le but étant de rafraichir pop2 afin de visualiser les mises à jour.
    Alors pourquoi ne pas utiliser Ajax pour mettre tes pop à jour (une fois ouvertes) ?
    Pas de rechargement de la page => pas de perte de variable

    A+

Discussions similaires

  1. Script fermer popup pour ouvrir autre popup
    Par bleudemars dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/04/2009, 19h58
  2. Rafraichissement de page après fermeture d'un popup
    Par bodysplash007 dans le forum Langage
    Réponses: 2
    Dernier message: 04/05/2007, 08h18
  3. fermer une popup depuis une autre page que l'opener
    Par totoche dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/12/2005, 14h31
  4. [Popup] Fusion du popup par défaut et le mien
    Par eponette dans le forum Composants VCL
    Réponses: 3
    Dernier message: 05/09/2005, 15h08
  5. TEdit - Popup par défaut
    Par dugenou dans le forum C++Builder
    Réponses: 3
    Dernier message: 10/06/2004, 11h18

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