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 :

Fermeture d'une popup


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    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 :
    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 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>
    Jusqu'ici ça va, le problème vient à la fin du traitement lorsque j'essaie de fermer la popup en C# il me ferme la page mère plutôt que la popup.

    J'ai donc essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "FermerPopup()", "self.close()", true);
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "FermerPopup()", "window.close()", true);
    Je voudrais fermer cette popup en C# mais je ne vois pas du tout comment faire.

    Merci pour votre aide

    Jenn

  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 et bienvenue sur Developpez.com

    1° remarque : à la fin de ta fonction Popup(), il faudrait faire un sinon ça peut causer des problèmes suivants les nav (page qui ne termine jamais de se charger).

    Ensuite il faudrait nous montrer le code de la fonction FermerPopup().
    En nous précisant si tu souhaites fermer la pop à partir de celle-ci (ex : via un bouton dans la pop) ou à partir de la mère ...

    Enfin, pour savoir comment la fermer en C#, faut demander dans le forum C#.
    Ici on t'indiquera comment le faire en Javascript

    A+

  3. #3
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Par défaut
    Merci de votre réponse

    Dans le code de la fonction FermerPopup(), il y a seulement self.close().

    Je souhaite que la popup se ferme seule à la fin du traitement de l'ajout (aucun lien de fermeture sur la popup).

    PS : Désolé d'avoir posté ici , j'hésitais entre javascript et C# et j'ai pas bien choisi ^^

  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
    Citation Envoyé par Jenn' Voir le message
    j'hésitais entre javascript et C# et j'ai pas bien choisi ^^
    Si puisque visiblement tu souhaites le faire en Javascript.

    Si le self.close() ne fonctionne pas c'est peut être simplement à cause de l'absence du pop.document.close().
    Tu as essayé de l'ajouter ?

    A+

  5. #5
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Par défaut
    Je l'ai ajouté mais aucune réaction... il ne ferme pas la popup.

    Peut-être un problème avec IE 8...

  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
    Ou alors un code de la pop qui plante ...

    As-tu activé la "notification des erreurs de script" dans les options du nav' ?

    A+

  7. #7
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Par défaut
    Ca m'aurais pas étonné que ça plante mais non même pas

    Sinon pour ce qui est du "pop.close()" il fonctionne bien (c'est moi qui avait mal actualisé ma page).

    Par contre dès que j'ouvre la popup il la ferme instantanément mais j'aimerais qu'il la ferme qu'à la fin du traitement de l'ajout.

  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
    OK
    On peut voir le code où tu appelles FermerPopup() ?
    Ou l'appel à la fonction qui lance FermerPopup() ...

    La totalité du code résultat de la pop, même.

    A+

  9. #9
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Par défaut
    Voilà le code où j'appelle la fermeture de 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    protected void bt_ajouter_Click(object sender, EventArgs e)
            {
                nom_dossier = lst_bt_radio.SelectedItem.ToString();
                string nom_fichier = bt_parcourir.FileName;
                string chemin_complet = Fichier.chemin + nom_dossier + "\\" + nom_fichier;
     
                // Vérifie si l'extention est conforme au fichier
                if (!test_extension().IsMatch(nom_fichier))
                {
                    message(lbl_erreur_format, Color.Red, Color.White, "L'extension du fichier n'est pas acceptée, recommencez !");
                }
                else
                {
                    // Si le média est déjà présent dans la table
                    if (verif_nb_media() != 0)
                    {
                        message(lbl_ajout_reussi, Color.Red, Color.White, "Ce média est déjà présent !");
                    }
                    else
                    {
                        try
                        {
                            string nom_media = apostrophe();
                            string req = "INSERT INTO T_Media VALUES(" + num_media_suivant() + "";
                            req += ", '" + nom_media + "', '" + DateTime.Now + "', 0";
                            req += ", '" + nom_fichier + "'";
                            req += ", " + lst_chapitre.SelectedValue + ", " + lst_bt_radio.SelectedValue + ")";
     
                            Fichier.se_connecter();
                            Fichier.cmd = new SqlCommand(req, Fichier.ctn);
                            Fichier.cmd.ExecuteNonQuery();
                            Fichier.se_deconnecter();
     
                            // Enregistre le fichier téléchargé dans le dossier Medias\...
                            bt_parcourir.SaveAs(chemin_complet);
     
                            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "FermerPopup()", "self.close();", true);
     
                            this.DataBind();
                            message(lbl_ajout_reussi, Color.White, Color.Salmon, "L'ajout a bien été enregistré !");
                        }
                        catch (Exception Ex)
                        {
                            message(lbl_ajout_reussi, Color.Red, Color.White, "Erreur... recommencez !");
                            fichier_erreur(Ex.ToString());
                        }
                    }
                }
            }

  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 E.Bzz Voir le message
    Ensuite il faudrait nous montrer le code de la fonction FermerPopup().
    Citation Envoyé par E.Bzz Voir le message
    As-tu activé la "notification des erreurs de script" dans les options du nav' ?
    Citation Envoyé par E.Bzz Voir le message
    On peut voir le code où tu appelles FermerPopup() ?
    Ou l'appel à la fonction qui lance FermerPopup() ...

    La totalité du code résultat de la pop, même.
    A+

  11. #11
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Par défaut
    Effectivement j'ai mis le code FermerPopup() à la fin, merci !

    J'ai beau chercher sur les forums, je ne trouve pas de solutions à mon problème

    En tout cas merci pour votre aide et je continue mes recherches !

    Jenn

  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
    Si le contenu que tu charges ainsi est considéré par le nav comme faisant partie du flux de la page, tu peux essayer de lancer FermerPopup() dans le onload du body :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="FermerPopup();">
    A+

  13. #13
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Par défaut
    Bonjour,

    La popup ne se ferme pas avec la solution que vous me proposez

    Entre le moment où j'ouvre la popup (sur le clique du bouton Valider) et le moment où je voudrais la fermer (à la fin du traitement), la popup perd le focus...

    Je ne vois pas comment faire

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