отправить форму в новое окно> отображает pdf> родитель теряет ссылку на дочернее окно - PullRequest
0 голосов
/ 20 июня 2011

У меня есть следующий код на нажатием кнопки

$('#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 голосов
/ 20 июня 2011

Если я понимаю, что вы пытаетесь сделать правильно, вы можете просто проверить, открыто ли всплывающее окно, прежде чем пытаться открыть новое.Так что-то вроде этого:

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

Это должно сосредоточиться на окне poup, если оно уже открыто.В противном случае открывается новый.

...