Как закрыть всплывающее окно после нажатия кнопки «Отправить»? - PullRequest
0 голосов
/ 13 ноября 2009

я создаю всплывающее окно, которое открывает 1 из моих страниц из моего cakephp. Это всплывающее окно представляет собой форму, которая ссылается на другую страницу. После того, как вы нажмете кнопку «Отправить», он автоматически сохранит данные в Mysql и закроет их.

Я бы хотел закрыть всплывающее окно после нажатия кнопки «Отправить». я установил top.close (); но все еще не работает.

Что я пропускаю ..

<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>

Ответы [ 4 ]

1 голос
/ 13 ноября 2009

window.open () возвращает ссылку на новое окно. Тогда вы можете:

my_win = window.open(...);
[...]
my_win.close();
0 голосов
/ 01 мая 2013

напишите ниже строку в функции, где форма отправляется после отправки

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

и удалите window.close () из формы при отправке события

0 голосов
/ 13 сентября 2011

Если вы используете PHP, просто сделайте это; это работает для меня.

Просто поместите это под формой отправки.

<?php
$close = 1;
if ($close) {
    echo '<body onunload="self.close()">';
} 
0 голосов
/ 13 ноября 2009

, если всплывающее окно является окном, которое содержит кнопку отправки, вам нужно. "Window.close ();" В противном случае, "var someRef = window.open (); someRef.close ()"

...