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

时间:2016-10-17 10:16:42

标签: javascript java jsp struts-1

我在父窗口中有一个链接,可以打开一个子窗口。单击子窗口中的保存按钮,我想调用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;
}

我在子窗口中使用了上面的代码。此代码重新加载父窗口,但不从子窗口调用该操作。谁能建议我解决方案?在此先感谢... :)

1 个答案:

答案 0 :(得分:1)

如果你使用了一些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();
    });
}

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