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 :

Fermer plusieurs popups avec un seul bouton


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 852
    Par défaut Fermer plusieurs popups avec un seul bouton
    Bonjour,

    Sur l'intranet en cours de développement nous utilisons un système de popups :
    Page principale ouvre popup A
    A ouvre popup B
    B ouvre popup C

    J'aimerais que depuis la page principale, il soit possible de ferme toutes les autres popups. Apparemment il n'existe pas l'inverse de window.opener pour traiter des popups filles. J'ai essayé un simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type=" button"  value=" close"  onClick=" window.opener.document.form_modifyList.submit(); window.close(); popupA.close(); popupB.close();"  />
    avec à chaque fois le nom de la popup (celui qui est passé en paramètre du windon.open) mais cela ne fonctionne pas. Je n'ai rien trouvé de probant, à part les fermer une à une, ce qui est déjà le cas actuellement mais ce n'est pas pratique...

    Avez-vous une idée pour y arriver ? Merci d'avance pour votre aide !

    #######

    Edit 28/11 : j'ai mis un code simplifié en PJ.
    Fichiers attachés Fichiers attachés

  2. #2
    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,
    ce n'est pas le paramètre du open() qu'il faut utiliser, mais un handle défini à l'ouverture.
    Dans Page Principale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    popA = window.open(urlA, 'POPA',...);
    dans popA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    popB = window.open(...);
    dans popB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    popC = window.open(...);
    Pour fermer tout ça à partir de Page Principale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    popA.popB.popC.close();
    popA.popB.close();
    popA.close();
    L'ordre est à respecter : si tu fermes popB avant popC, la page principale ne peut plus fermer popC (car elle ne la "connait" pas "directement")

    A+

  3. #3
    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
    j'aurais pushé les popup dans un array ...
    y'aurait plus qu'a poper l'array pour tout fermer ...


    mais le plus simple serait encore de se passer des popups avec window prototype
    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 !

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    page principale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // sur le onclick du bouton
    function closePopup(){
      if (popup && popup.closeWindow){
        popup.closeWindow();
      }
    }
    dans chaque popup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function closeWindow(){
      if (popup && popup.closeWindow){
        popup.closeWindow();
      }
      self.close();
    }
    avec dans la page principale comme dans les popup ayant créé un popup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var popup = window.open(...);
    de cette façon tu n'as pas a te soucier du nombre de popup à fermer, ça se fera en cascade.

  5. #5
    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
    et le param dependant ?
    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 !

  6. #6
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    et le param dependant ?
    gné ?

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

Discussions similaires

  1. Plusieurs form avec un seul bouton submit ?
    Par Amelie MOREAU dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 06/03/2013, 11h43
  2. Envoyer plusieurs formulaires avec un seul bouton
    Par patheo2 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 17/03/2011, 11h08
  3. [1.x] Afficher et valider plusieurs formulaires avec un seul bouton
    Par alexou dans le forum Symfony
    Réponses: 2
    Dernier message: 24/08/2010, 11h04
  4. Valider plusieurs formulaires avec un seul bouton
    Par Bam chika wah wah! dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/04/2009, 12h53
  5. Réponses: 3
    Dernier message: 02/07/2008, 19h08

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