Ajax + prototype window

Résolu
nico76 -  
 Fifigirondins -
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. Fifigirondins
     
    Bonjour,

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

    @+
    1
  2. donuts08 Messages postés 523 Statut Membre 39
     
    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();
    0
    1. nico76
       
      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(); ?
      0
    2. nico76 > nico76
       
      login.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
      0
    3. donuts08 Messages postés 523 Statut Membre 39 > nico76
       
      dans 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.
      0
    4. nico76 > donuts08 Messages postés 523 Statut Membre
       
      malheureusement la boite ne se ferme pas
      0
    5. donuts08 Messages postés 523 Statut Membre 39 > nico76
       
      qu'est-ce que tu entends par boite? c'est un popup?
      0
  3. maheu
     
    une solution : window.parent.Windows.close('winID', event);
    0
    1. foxvivi
       
      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.
      0
  4. Hcène
     
    win = new Window({title....
    win.getId();
    Windows.close(idPopup);
    0