从子窗口调用操作,关闭子窗口并重新加载父页面

Call action from child window, close the child window and reload the parent page

本文关键字:窗口 加载 新加载 操作 调用      更新时间:2023-09-26

我有一个链接从父窗口打开一个子窗口。在单击子窗口中的保存按钮时,我想调用struts操作并关闭子窗口。然后重新加载父窗口。

function closeChildWindow(){
document.forms[0].action="/rms/action/linkSourceList";
document.forms[0].submit();
var originalSource = document.getElementById("originalSource").value;
opener.location.href = '../action/editSource?source_id='+originalSource;
}
我在子窗口中使用了上面的代码。此代码重新加载父窗口,但不从子窗口调用操作。谁能告诉我解决办法?提前感谢……:)

如果你使用一些JavaScript库,事情会容易得多。

我将用jQuery给出一个例子:
function submitAndCloseChildWindow(){
    var data = /* get form data here */;
    $.ajax({
        url: "/rms/action/linkSourceList",
        data: data,
        method: "POST"
    }).done(function() {
        opener.location.href = '../action/editSource?source_id=' + $("#originalSource").val();
        window.close();
    });
}

这将使您的窗口在失败时保持打开,并允许您处理任何预期的错误。另外,如果请求仍然没有通过,请咨询控制台。