2009-11-13 6 views
0

Je crée une popupwindow qui ouvre 1 de mes pages de mon cakephp. Cette fenêtre contextuelle est un lien vers une autre page. Lorsque vous cliquez sur le bouton "Soumettre", les données sont sauvegardées automatiquement dans Mysql et fermées.Comment fermer ma popup popup une fois que le bouton submit clique?

Je voudrais fermer la fenêtre contextuelle une fois que vous cliquez sur le bouton Soumettre. je mets top.close(); mais stil aucune fonction.

Ce que je mising ..

<script type="text/javascript"> 

    function popup(mylink, windowname){ 
    if (! window.focus)return true; 
     var href; 
    if (typeof(mylink) == 'string') 
     href=mylink; 
    else 
     href=mylink.href; 
    window.open(href, windowname, 'width=800,height=1200,scrollbars=yes'); 
    return false; 
    } 
    </script> 
    <p><A HREF="http://.../index.php/products/add" onClick="return popup(this, 'notes');top.close();">Add Products</A></p> 
+0

s'il vous plaît javascript comme ce tag. – fserb

Répondre

1

window.open() renvoie une référence à la nouvelle fenêtre. Alors vous pouvez:

my_win = window.open(...); 
[...] 
my_win.close(); 
+0

popup de fonction (mylink, windowname) { \t \t \t \t \t si (! Window.focus) renvoie true; \t \t \t var href; Si (typeof (mylink) == 'chaîne') \t \t \t href = mylink; \t \t d'autre \t \t \t href = mylink.href; \t \t mon_win = window.open (href, windowname, 'width = 800, height = 1200, barres de défilement = yes'); \t \t my_win = window.close(); \t \t} J'essaie de mettre après le window.open mais n travail. y? –

0

si le popup est la fenêtre qui contient le bouton soumettre, vous avez besoin. "window.close();" Sinon, "var someRef = window.open(); someRef.close()"

-1

Si vous utilisez PHP, faites-le; ça marche pour moi.

Placez-le sous le formulaire de soumission.

<?php 
$close = 1; 
if ($close) { 
    echo '<body onunload="self.close()">'; 
} 
0

écriture ligne ci-dessous en fonction où la forme va soumettre après

echo "<script>window.close();</script>"; 

et retirer le window.close() de la forme d'événements onsubmit