使用javascript返回父窗口

使用javascript返回父窗口,javascript,Javascript,我正在从父窗口弹出一个子窗口。现在,在子窗口中,我有一个html表单,用户将填写并提交,请求将转到服务器站点。现在,我希望对该请求的响应重定向到父窗口,我的子窗口自动关闭。希望我足够清楚。如果不让我知道。提前感谢。如果弹出窗口是使用window.open创建的,则弹出窗口可以使用window.opener访问打开窗口 在主窗口上,您必须创建一个函数来从弹出窗口接收数据,如下所示: window.receiveDataFromPopup = function(data) { // do t

我正在从父窗口弹出一个子窗口。现在,在子窗口中,我有一个html表单,用户将填写并提交,请求将转到服务器站点。现在,我希望对该请求的响应重定向到父窗口,我的子窗口自动关闭。希望我足够清楚。如果不让我知道。提前感谢。

如果弹出窗口是使用
window.open
创建的,则弹出窗口可以使用
window.opener
访问打开窗口

在主窗口上,您必须创建一个函数来从弹出窗口接收数据,如下所示:

window.receiveDataFromPopup = function(data) {
    // do things with data.
};
window.opener.receiveDataFromPopup(data);
然后在弹出窗口中,您可以像这样调用打开器上的函数:

window.receiveDataFromPopup = function(data) {
    // do things with data.
};
window.opener.receiveDataFromPopup(data);
要关闭窗口,只需使用

window.close();
window.close();
检查

基本上,逻辑可以是:

  • 响应返回一个包含隐藏div的页面,该div包含要显示的消息(使用CSS set
    display:none隐藏;

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

  • 子窗口上JavaScript的最后一行将自动关闭,就像
    window.close()一样简单


  • 有一种方法可以从子窗口访问父窗口。是的

    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.opener.location.reload();
    window.close();