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

C# Discussion :

Fermeture d'une popup


Sujet :

C#

  1. #1
    En attente de confirmation mail
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Points : 2
    Points
    2
    Par défaut Fermeture d'une popup
    Bonjour à tous !

    Je développe en ASP.net C# et j'ai un soucis avec la fermeture de ma popup.
    Lors du clic sur mon formulaire d'ajout je génère cette popup en javascript afin de faire patientez l'utilisateur.
    A la fin du traitement de l'ajout je tente de fermer la popup en C# :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "FermerPopup()", "self.close()", true);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "FermerPopup()", "window.close()", true);
    Mais c'est la page mère et non la popup qui se ferme.

    Merci pour votre aide

    Jenn

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    Salut,
    Il est normal que window.close() ferme la page en cours, car le contexte d'exécution de ce script est ... la page.

    Il faut que tu conserves une instance de la popup ouverte afin de lui appliquer le close. Plus concrètement faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my_window = window.open("", "mywindow","status=1,width=350,height=150");
    puis

  3. #3
    En attente de confirmation mail
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Merci pour votre réponse !

    Le problème est que je lance ma popup en javascript au début du traitement de l'ajout comme ceci :
    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
    <script language="javascript" type="text/javascript">
    function Popup()
    {
    setup='toolbar=no,location=no,directories=no,status=no,menubar=no,width=250,height=100'
        setup += 'scrollbars=no,resizable=no'
        pop = window.open ("","pop",setup)
        pop.document.write('<head>');
        pop.document.write('<Title>');
        pop.document.write('Patientez...');
        pop.document.write('</Title>');
        pop.document.write('<script language="javascript">');
        pop.document.write('</');
        pop.document.write('script>');
        pop.document.write('</head>');
        pop.document.write('<body bgcolor=#833750>');
        pop.document.write('<center><h3><font color="white">Votre média se charge...<br><font color="black" size="3">Veuillez patientez... Merci</font></h3></center>');
        pop.document.write('<center><h5><font color="white">(Cette fenêtre se fermera toute seule)</B></h5></center>');
        pop.document.write('</body>');
    }
    </script>
    et je souhaite la fermer à la fin du traitement dans mon code C# :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "FermerPopup()", "self.close();", true);
    Si je lui met "pop.close()" dans le javascript il ouvre et ferme instantanément la popup et si je met pop.close() dans mon code C# il ne met que "pop" est inconnu.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    C'est bien pop.close() qu'il faut appeler mais en js. Pour cela, il faut insérer un script lors du retour du traitement comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.ClientScript.RegisterStartupScript(Page.GetType(), "FermerPopup()", "pop.close();", true);

  5. #5
    En attente de confirmation mail
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Il me retourne une erreur comme quoi "pop" est indéfini

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    Citation Envoyé par Jenn' Voir le message
    Il me retourne une erreur comme quoi "pop" est indéfini

    mince, c'est vrai qu'il te perd la référence car il recharge totalement la page.
    là tout de suite, je vois bien une solution mais c'est pas terrible : fermer la popup dans le unload js du body. Comme ça à chaque rechargement de page, il ferme la popup. pour l'utiliser ça dépend aussi du reste de ta page.

  7. #7
    En attente de confirmation mail
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    C'est bien à ce niveau que je dois fermer la popup ?

    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
    <script language="javascript" type="text/javascript">
    function Popup()
    {
        setup='toolbar=no,location=no,directories=no,status=no,menubar=no,width=250,height=100'
        setup += 'scrollbars=no,resizable=no'
        pop = window.open ("","pop",setup);
        pop.document.write('<head>');
        pop.document.write('<Title>');
        pop.document.write('Patientez...');
        pop.document.write('</Title>');
        pop.document.write('</head>');
        pop.document.write('<body onunload="self.close()" bgcolor=#833750>');
        pop.document.write('<center><h3><font color="white">Votre média se charge...<br><font color="black" size="3">Veuillez patientez... Merci</font></h3></center>');
        pop.document.write('<center><h5><font color="white">(Cette fenêtre se fermera toute seule)</B></h5></center>');
        pop.document.write('</body>');
    }
    </script>
    J'ai testé mais elle reste toujours ouverte.

  8. #8
    En attente de confirmation mail
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Entre le moment où j'ouvre la popup et le moment où je voudrais la fermer, elle perd le focus...

    Et je ne vois pas comment lui redonner avant qu'elle ne se ferme

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    pour repartir sur la solution pas terrible, il faut faire un code du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    <body onunload="pop.close()">
    ...
    ça reste à valider avec le reste de ta page.

Discussions similaires

  1. Rechargement d'un formulaire à la fermeture d'une popup
    Par GuardianForce dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/08/2007, 15h38
  2. Réponses: 12
    Dernier message: 26/04/2007, 15h02
  3. Detecter la fermeture d'une popup
    Par mediateur59 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/12/2006, 17h52
  4. evenement de fermeture d'une popup
    Par mikky dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/09/2006, 11h25
  5. fermeture d'une popup
    Par zoidberg dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/05/2006, 12h02

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