Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> программный submit формы 
:(
    Опции темы
serg244
Дата 24.3.2010, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.3.2010

Репутация: нет
Всего: нет



Добрый день. 

Преамбула:

http://noir.org.ua/searchForm/

На странице:
1) поле ввода и кнопка Find - это флеш. 
2) также есть html-форма, скрытая через display: none

После нажатия на кнопку Find, флеш через ExternalInterface (это стандартный класс Flash Player-а, который позволяет из флеша вызывать JavaScript-функции контейнера, в который он помещён) вызывает JavaScript-функцию

Код

function submitForm(str)
{
    var form = document.getElementById("myForm");
    form.elements['srcKeys'].value = str;
    form.submit();
}


и передаёт в неё введённое значение из поля ввода внутри флеша.
Смысл этого всего устройства - нужно во флеш сайте вводить в поле ввода некоторое слово, после чего должна открыться страница сайта visualphotos.com (это фотосток) с результатами поиска по введённому слову.

Firefox и IE - переходы происходят нормально.
Opera - не производит переход, вместо этого появляется окно с сообщением, что данная страница пытается открыть всплывающее окно, и вопросом - что делать.
Chrome - переход происходит только один раз, после чего переходов не осуществляется.

В результате экспериментов определил, что это происходит из-за программного вызова метода submit формы без явного действия пользователя. В частности, если "повешать" вызов той же функции submitForm на событие onclick изображения в html-странице, то работает нормально.

Вопрос:

Как добиться корректного поведения в Opera и Chrome? И возможно ли?

Спасибо.
PM MAIL   Вверх
IDVsbruck
Дата 24.3.2010, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 8
Всего: 22



Вот эта строка
Код
form.elements['srcKeys'].value = str;

мне что-то не очень нравится в плане кроссбраузерности.
Для гарантии пропиши
Код
document.getElementById("srcKeys").value = str;

PM MAIL   Вверх
serg244
Дата 24.3.2010, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.3.2010

Репутация: нет
Всего: нет



Прописать то я прописал, но это не решит проблему smile
Но спасибо, буду знать на будущее
PM MAIL   Вверх
IDVsbruck
Дата 24.3.2010, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 8
Всего: 22



У, блин, если честно, то не дочитал до конца вопрос smile.
Нельзя. Потому что программный. Странно, что ИЕ не среагировал так же, как Опера.
PM MAIL   Вверх
serg244
Дата 24.3.2010, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.3.2010

Репутация: нет
Всего: нет



Понятно. Спасибо.
PM MAIL   Вверх
IgorIV
Дата 24.3.2010, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



Opera 10.10
Работает, как ни странно smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1111 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.