У меня есть форма с некоторыми обычными полями, например "электронная почта". У меня есть javascript, который ловит ключ возврата (13) и отправляет форму, но тот же эффект наблюдался при использовании свойства defaultButton на панели хоста.
Если пользователь находится в IE и набирает свой адрес электронной почты, затем выбирает элемент из встроенного автозаполнения браузера, нажимая ENTER, в Javascript не поступает нажатие клавиши. ХОРОШО.
В Firefox однако текстовое поле получает нажатие клавиши ENTER и хочет отправить форму, которая не завершена.
Кто-нибудь знает, как остановить это, кроме как отключить автозаполнение? Я не могу найти способ обнаружить, что нажатие клавиши действительно происходит из автоматического полного списка.
Я использую asp.net и jQuery.
Изменить - уточнить: При нажатии на элемент в автозаполнении НЕ следует отправить форму. Поведение IE правильное (на один раз!).
Мой обработчик событий сам по себе просто:
на клавише вверх (тоже попробовал нажать клавишу) - if (e.which == 13) submitForm();
Проблема в том, что я не знаю, как обнаружить, что нажатие ENTER на самом деле произошло из управления автозаполнением