使用javascript返回父窗口

时间:2011-11-07 04:47:21

标签: javascript

我从父窗口弹出一个子窗口。现在,在子窗口中,我有一个html表单,用户将填写并提交并请求将在服务器站点上运行。现在,我希望响应此请求重定向到父窗口和我的孩子窗口自动关闭。希望我很清楚。如果没有让我知道。提前谢谢你。

4 个答案:

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

基本上逻辑可以是:

  1. 您的响应返回一个页面,其中包含一个hidden-div,其中包含您要显示的消息(使用CSS set display:none;隐藏)

  2. 返回的子页面还包含一些使用DIV内容填充父窗口的JavaScript parent/* or opener */.document.getElementById(...).innerHTML = ...;
    或调用父项上的函数告诉它它现在已经完成,例如window.opener/*or parent*/.formIsComplete();其中formIsComplete()是父文档/窗口中的JavaScript函数。

  3. 子窗口上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>