Ajax + prototype window

Résolu
Bonjour,

actuellement j'ai une boite créée avec prototype window et dedans j'ai un champ texte avec un bouton "envoyer" qui envoi vers une page php pour insérer une info dans ma BDD.

ce que je voudrais c'est une fois le bouton "envoyer" cliqué, que la boite se ferme.

Mais comment je peux effectuer cela ?

-------------------
<script>
win1 = new Window({className: "dialog", width:220, height:125, url: "login.html", destroyOnClose: true, recenterAuto:false});
win1.setLocation(40, 700);
win1.show();
</script>
-------------------

Merci d'avance.
Configuration: Windows Vista
Firefox 3.0

4 réponses

  1. Bonjour,

    j'ai rencontré le même problème.
    Merci maheu pour m'avoir débloqué :)

    @+
    1. une solution : window.parent.Windows.close('winID', event);
      1. Bonjour à tous,

        Merci maheu pour l'info (fermeture du popup créer par prototype window), mais j'ai une question:
        Comment fais t'on pour connaitre le 'winID' alors qu'on se trouve dans l'iframe du popup ?

        merci d'avance.
    2. salut,

      si tu utilise ajax dans ce cas tu dois avoir dans ta page html un javascript qui exécute la requête? eh bien il te suffit, une fois que la requête se termine de faire un self.close();
      1. en fait pour être clair :

        j'ai ma page index.php sur laquelle est créée une boite qui fait appel à login.html (qui contient donc le bouton envoyer et le input text). Quand le champ est saisi, cela envoi à add.php pour insérer l'input dans la base.

        Donc je vois pas trop où je mets le self.close(); ?
      2. @nico76login.html :
        --------
        <body>
        <form method="POST" action="add_user.php" name="monform">
        <p><input type="text" name="login" /></p>
        <input type="submit" value="Commencer la partie" />
        </form>
        </body>
        ----------
        index.php :
        ----------

        <script>
        win1 = new Window({className: "dialog", width:220, height:125, url: "login.html", destroyOnClose: true, recenterAuto:false});
        win1.setLocation(40, 700);
        win1.show();
        </script>

        ------------

        add.php :

        -----------
        une simple requete php
      3. @nico76dans login.html au dessus du formulaire:

        <script type="text/javascript">
        function fermer()
        {
               //ferme la page au bout de 1 seconde
               setTimeout("window.close()",1000);
        }
        </script>


        sur le bouton "Commencer":
        <input type="submit" value="Commencer la partie" onClick="fermer()" /> 


        Je ne te garanti pas que c'est la meilleure solution mais ça devrait fonctionner.
      4. @nico76qu'est-ce que tu entends par boite? c'est un popup?