Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fermer un pop-up à la fin de son exécution

Sujet résolu
    14 décembre 2009 à 19:24:36

    Salut,

    je suis en train d'écrire un petit système d'upload de fichier avec une pop-up et génération du BBCode dans la fenêtre appelante.

    Donc la page principale permet d'ouvrir une pop-up contenant le formulaire d'upload. Une fois le formulaire soumis, le contenu de la pop-up est rechargé et c'est à ce moment que le javascript génère le code dans le formulaire de saisie et ferme la pop-up.

    Actuellement le code est correctement généré, mais la fenêtre ne veut pas se fermer. J'ai a peu près tout essayé ce que je pouvais :

    <html>
    <head>
    <title>Uploader un fichier</title>
    <script type="text/javascript">
    function put_oacode() {
    				
         window.opener.oacode('.intval($_GET['field']).', \'interne\', \''.$download_url.'\');
    }
    </script>
    </head>
    <body onload="put_oacode(); self.close();">
    </body>
    </html>
    


    <html>
    <head>
    <title>Uploader un fichier</title>
    </head>
    <body>
    <script type="text/javascript">
    function put_oacode() {
    				
         window.opener.oacode('.intval($_GET['field']).', \'interne\', \''.$download_url.'\');
         window.close();
    }
    put_oacode();
    </script>
    </body>
    </html>
    

    Dans a peu près tout les sens possibles, même en définissant un nom lors de l'appel de la pop-up et en le mettant en argument de close().
    • Partager sur Facebook
    • Partager sur Twitter
    Don't be serious but do it seriously.
      14 décembre 2009 à 19:41:39

      Dans ton popup une fois que tu as tout fini tu as juste à faire this.close(); normalement.
      • Partager sur Facebook
      • Partager sur Twitter
        14 décembre 2009 à 20:10:12

        J'ai essayé avec le code suivante mais ça ne fonctionne pas :

        <html>
        <head>
        <title>Uploader un fichier</title>
        </head>
        <body>
        </body>
        <script type="text/javascript">
        function put_oacode() {
        				
             window.opener.oacode('.intval($_GET['field']).', \'interne\', \''.$download_url.'\');
        }
        put_oacode();
        this.close();
        </script>
        </html>
        

        J'avais remarqué dans le passé parmi les nombreuses bizzareries de JavaScript, que certaine méthode ne fonctionne que dans des cas particuliers, comme par exemple après un événement (onclick, onload, etc...).

        Est-ce que c'est le cas ce close() ?
        Une autre pop-up sur le même site avec un bouton contenant l'attribut onclick="self.close()" fonctionne parfaitement o_O
        • Partager sur Facebook
        • Partager sur Twitter
        Don't be serious but do it seriously.
          14 décembre 2009 à 20:15:39

          Bah deja montre nous le code généré, et pas du fake javascript mélangé a du fake php.

          Car je pense que t'as une erreur de syntaxe une fois généré.
          • Partager sur Facebook
          • Partager sur Twitter
            14 décembre 2009 à 20:19:16

            J'ai fait un test avec un bouton pour fermer manuellement la fenêtre. this.close() ne fonctionne pas, j'ai donc repris self.close dans le code. Une fois généré, voici ce que ça me donne :
            <html><head><title>Uploader un fichier</title></head>
            <body>
            <script type="text/javascript">
            function put_oacode() {
            				
            	window.opener.oacode(0, 'interne', 'http://www.otaku-attitude.net/divers/404_chopper.png');
            }
            put_oacode();
            self.close();
            </script>
            </body>
            </html>
            
            • Partager sur Facebook
            • Partager sur Twitter
            Don't be serious but do it seriously.
              14 décembre 2009 à 20:32:37

              Dans l'absolue c'est plutot window.close.

              Mais avec window.close, ça ne marche pas ?
              • Partager sur Facebook
              • Partager sur Twitter
                14 décembre 2009 à 21:20:20

                J'ai finalement pu régler mon problème avec Firebug. Un problème avec une fonction appelée dans la fonction oacode() appelée précédemment sur la page...
                • Partager sur Facebook
                • Partager sur Twitter
                Don't be serious but do it seriously.

                Fermer un pop-up à la fin de son exécution

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown