Форма не отправляется, когда вводится более одного текста

Это довольно простая проблема для описания. Это было протестировано в Firefox (3.6), IE (8) и Chrome (8).

Вот файл notsubmit.html

<form>
    <input />
    <input />
</form>

Когда фокус находится на одном из входов и вы нажимаете ввод, ничего не происходит.

Ниже находится файл dosubmit.html

<form>
    <input />
</form>

Когда фокус находится на вводе и вы нажимаете ввод, форма отправляется.

Любое понимание этого непоследовательного поведения?

Я знаю, что в форме отсутствует кнопка отправки, и поэтому она семантически неверна. В любом случае, процесс отправки должен был автоматически обрабатываться с помощью кнопок панели кнопок диалогового окна jQuery, и я не знал, как разместить дополнительный ‹input type="submit" /›.


person Karim    schedule 28.01.2011    source источник
comment
Если бы мне пришлось угадывать, я бы сказал, что отказ от отправки был желательным поведением, но они добавили исключение в форму с одним вводом для веб-сайтов с полями поиска (что является их типичным шаблоном). Хотя я действительно спекулирую здесь...   -  person Brad Christie    schedule 28.01.2011
comment
Ну, понимание здесь см. ссылку на спецификацию HTML   -  person user754151    schedule 15.05.2011


Ответы (2)


пользователь754151 правильный. Это известная ошибка, но я думаю, вы можете избавиться от нее, просто перехватив событие нажатия клавиши ввода.

person andreapier    schedule 23.12.2011

Есть два возможных решения этой проблемы.

  1. Самое простое решение — добавить еще 1 поле ввода, которое не будет видно пользователю.

  2. вы можете связать событие keydown этого поля ввода, и в этой функции просто проверьте keyCode == 13, а затем preventDefault().

person Ranish Karim    schedule 04.03.2016