Доброго дня.
Я столкнулся с проблемой, суть которой в следующем. Имеются фрейм и две формы:
<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(), но браузер всё равно блокирует создание нового окна. Я в недоумении.