Навигация Проблема с кнопкой ввода по умолчанию в JSP - PullRequest
0 голосов
/ 31 марта 2011

У меня есть один jsp с двумя выпадающими и одним текстовым полем и одной кнопкой отправки, когда я выбираю первый и второй выпадающий список и нажимаю клавишу ввода, она вызывает кнопку отправки, но когда я использую текстовое поле, и мой курсор находится в этом текстовом поле, и я нажимаювведите, это не вызывает кнопку отправки, что означает, что это не вызов действия .. может кто-нибудь подсказать мне, почему это происходит так ...

Спасибо Vinod

1 Ответ

3 голосов
/ 31 марта 2011

Вот мой пост об этой проблеме и соответствующий раздел в спецификации - это стандартное поведение - если в форме есть только 1 текстовое поле, нажмите Enter в этом поле вызывает отправку формы без отправки кнопки отправки в качестве одного из параметров в запросе.Когда вы нажимаете ввод, когда фокус находится на элементе select, этот элемент не может обработать нажатие клавиши, поэтому событие всплывает до формы, которая затем вызывает отправку как обычно.

Обновление
Как указал BalusC в комментарии ниже - отсутствующий параметр кнопки отправки - это поведение, характерное для Internet Explorer .

Возможные обходные пути:

  1. Избегайте использования кнопки отправки в логике на стороне сервера - Я бы порекомендовал этот подход

  2. Добавить невидимый элемент <input type="text"> в стиле CSS('display: none')

  3. Используйте JavaScript для привязки слушателя keypress к одному текстовому полю, а в случае Введите , остановите действие по умолчанию и вызовитедействие отправки формы.Я бы избегал этого, так как это может привести к поломке вашего приложения (как сейчас) с клиентами, которые не поддерживают JavaScript - простая не-JS-форма должна работать со всеми клиентами, поэтому один из подходов, описанных выше, может быть подходящим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...