Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Отправка формы в новое окно (https://javascript.ru/forum/dom-window/50226-otpravka-formy-v-novoe-okno.html)

1lider 17.09.2014 15:09

Отправка формы в новое окно
 
Доброго дня.

Я столкнулся с проблемой, суть которой в следующем. Имеются фрейм и две формы:

<iframe id='iframe_1' style='display:none'></iframe>
 
<form action='my.php' method='POST' target='iframe_1' id='form_1'>
<input type='text' name='text_1' value='Hello Wolrd!' />
<input type='submit' value='Отправить' />
</form>
 
<form action='http://other_site.ru/other.php' method='POST' target='new_window' id='form_2'>
<input type='text' name='text_2' value='ASDF' />
</form>

function new_window() {
    var new_wind = open("", "new_window");
    document.getElementById('form_2').submit();
}


Порядок действий таков:
1. Пользователь нажимает кнопку Отправить в форме номер 1.
2. После проверки данных на сервере, скрипт my.php вызывает из ифрейма iframe_1 функцию new_window() для создания нового окна.
3. Функция new_window() создаёт новое окно и пытается отправить в него форму номер 2.

Проблема в том, что браузеры блокируют создание нового окна. Причина блокировки мне понятна. Соображения безопасности и всё такое. Но как можно обойти эту бяку? Есть ли какие-нибудь кроссбраузерные решения? Я пробовал воспользоваться dispatchEvent() и fireEvent(), чтобы сымитировать Клик и вызвать функцию new_window(), но браузер всё равно блокирует создание нового окна. Я в недоумении.

skrudjmakdak 17.09.2014 19:48

я очень туго представляю всю вашу кашу. при отправки формы, страница передергивается. т.е. после перезагрузки страницы дергается функция new_window()??


Часовой пояс GMT +3, время: 23:13.