我从父窗口弹出一个子窗口。现在,在子窗口中,我有一个html表单,用户将填写并提交并请求将在服务器站点上运行。现在,我希望响应此请求重定向到父窗口和我的孩子窗口自动关闭。希望我很清楚。如果没有让我知道。提前谢谢你。
答案 0 :(得分:3)
如果使用window.open
创建弹出窗口,则弹出窗口可以使用window.opener
访问打开窗口。
在主窗口中,您必须创建一个函数来从弹出窗口接收数据,如下所示:
window.receiveDataFromPopup = function(data) {
// do things with data.
};
然后在弹出窗口中,您可以在开启器上调用该函数,如下所示:
window.opener.receiveDataFromPopup(data);
要关闭窗口,只需使用
window.close();
答案 1 :(得分:2)
检查jQuery Popup Window Return Value to Parent
基本上逻辑可以是:
您的响应返回一个页面,其中包含一个hidden-div,其中包含您要显示的消息(使用CSS set display:none;
隐藏)
返回的子页面还包含一些使用DIV内容填充父窗口的JavaScript parent/* or opener */.document.getElementById(...).innerHTML = ...;
或调用父项上的函数告诉它它现在已经完成,例如window.opener/*or parent*/.formIsComplete();
其中formIsComplete()
是父文档/窗口中的JavaScript函数。
子窗口上JavaScript的最后一行将自动关闭,就像window.close();
一样简单。
答案 2 :(得分:0)
有一种方法可以从子窗口访问父窗口。它是
window.opener //use window.opener to access the parent window.
因此,在子窗口中,表单提交完成后,只需调用
即可window.opener.yourFunc() //Your func is a function on parent. Call this from the child.
调用此函数后,使用
关闭子窗口window.close();
答案 3 :(得分:0)
<script type='text/javascript'>
window.opener.location.reload();
window.close();
</script>