Отправить форму в новое окно> отображает pdf > родитель теряет ссылку на дочернее окно
У меня есть следующий код на нажатие кнопки
$('#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 ответ
Если я понимаю, что вы пытаетесь сделать правильно, вы можете просто проверить, открыто ли всплывающее окно, прежде чем пытаться открыть новое. Так что-то вроде этого:
if (winPop ) {
winPop.focus();
}else{
winPop = window.open("", 'formresult', 'allthesettingshereblablah');
}
Это должно сосредоточиться на окне poup, если оно уже открыто. В противном случае новый открывается.