Здравствуйте, Rumata, Вы писали:
R>Здравствуйте, Аноним, Вы писали:
А>>Поиск использовал — ни одно из предложенных ранее решений не работает в трёх браузерах IE/Opera/Firefox.
А>>У меня получилось сделать только для IE/Opera.
А>>Контекст задачи:
А>>Используется что-то типа google suggest. На форме есть несколько input type=textbox-ов. При вводе значения, открывается табличка под input-ом с возможными вариантами. Вариант не вставляется сразу в textbox, как в google, а его надо выбрать самостоятельно. Варианты перебираются мышью или кнопками up/down. При клике на варианте или нажатии кнопки Enter должна произойти вставка варианта в textbox. Конечно, при нажатии Enter НЕ ДОЛЖНА происходить отправка всей формы!
R>В событии onSubmit формы проверять флаг.
R>Это событие имхо кросбраузерно на все 100, иначе никакие JS валидаторы не работали бы
Помогло, но не совсем.
Действительно, валидаторы работают везде.
Как определить, действительно ли нажата кнопка submit, а не enter на форме?
Я для этого использую переменную, которая сначала false, а при нажатии кнопки становится true.
Нажатие кнопки определяю по событию onclick и onkeydown на ней.
Проблема в том, что при нажатии enter на форме вызывается событие onclick на submit кнопке.
http://msdn.microsoft.com/workshop/author/dhtml/reference/events/onclick.asp?frame=true
— здесь про это написано.
Хотя, в действительности, такое происходит только в Opera.