Показать сообщение отдельно
  #1 (permalink)  
Старый 17.09.2014, 15:09
Аспирант
Отправить личное сообщение для 1lider Посмотреть профиль Найти все сообщения от 1lider
 
Регистрация: 12.04.2013
Сообщений: 86

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

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

<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(), но браузер всё равно блокирует создание нового окна. Я в недоумении.
Ответить с цитированием