将表格提交到新窗口>显示pdf>父母失去了儿童窗口参考

时间:2011-06-20 17:59:11

标签: javascript window.open window.onunload

我有以下代码点击按钮

$('#someForm').attr("target", "formresult");

.......

winPop = window.open("", 'formresult', 'allthesettingshereblablah');

.......

$('#someForm').submit();

一切正常,弹出窗口中会显示一个新的pdf。

我想输入一个逻辑,如果已经有一个弹出窗口打开,忽略按钮点击...如果我不做提交,我可以做winPop.closed检查,它将有正确的参考。

但是,如果我有submit(),则引用丢失... winPop.closed不再有效。

我知道引用已更改,因为如果我放入

winPop.onbeforeunload = function() {
alert('i am closing');         
};

我正在关闭警报显示在pdf显示之前,这意味着原来的winPop已经卸载,我不再拥有该引用。

我应该做的正确的流程/方式是什么?

基本上我需要从父窗口点击生成按钮>>提交表格并在子窗口中打开pdf>>如果我再次从父窗口单击“生成”按钮,则应在子窗口打开时忽略该单击。

1 个答案:

答案 0 :(得分:0)

如果我理解你正在尝试做什么,你可以在尝试打开一个新窗口之前检查弹出窗口是否打开。 所以像这样:

if (winPop ) {
winPop.focus();
    }else{
 winPop = window.open("", 'formresult', 'allthesettingshereblablah');
}

如果已经打开一个窗口,那么应该关注poup窗口。否则会打开新的。