Отправка формы с помощью клавиши ввода - PullRequest
0 голосов
/ 10 ноября 2011

Что спецификация HTML говорит об использовании клавиши ввода для отправки формы?

Я прочитал http://www.w3.org/TR/html4/interact/forms.html, но ничего не говорится об отправке формы с использованием клавиши ввода.

Это даже определено где-то или это просто так, как большинство браузеров реализовали его самостоятельно, и оно стало the way to do it?

Мне любопытно, потому что я только что задал вопрос относительно Webkit, не отправляющего мою формуесли кнопка отправки скрыта (display: none).

Попытка «отправить» мою форму при нажатии Enter не удалась

Так есть ли где-нибудь в официальных документахСсылка на поведение клавиши ввода в форме?

Ответы [ 4 ]

2 голосов
/ 10 ноября 2011

Стандарт HTML не зависит от устройства;Пользовательские агенты HTML работают на различных платформах, многие из которых (например, поисковая система, программа для чтения голоса, веб-браузер) не имеют клавиатуры.Поэтому в стандарте не говорится, как пользователь может переключать отправку формы.Перечислить все возможные способы отправки формы невозможно, поскольку многие устройства и механизмы взаимодействия с пользователем еще не приглашены - iOS 6 может разрешить вам отправить форму, сказав «Отправить форму!».

Поведение Webkit, которое выВы видите, на усмотрение Webkit и, скорее всего, непреднамеренно.Стандарт ничего не говорит о том, что кнопка отправки необходима в процессе отправки .

1 голос
/ 20 декабря 2012

Я знаю, что этот вопрос старый, но у меня была такая же проблема с браузерами webkit. Я обнаружил, что если вы используете visibility: hidden вместо display: none, кнопка ввода отправит форму. Я знаю, что это добавляет еще несколько проблем со стилем, но по существу решает задачу. Что касается стандарта, то прошло более года, и я не смог найти ничего более информативного, чем ответ phihag.

1 голос
/ 10 ноября 2011

Это не часть спецификации. Это то, что производители браузеров реализуют по своему усмотрению.

0 голосов
/ 10 ноября 2011

В спецификации сказано, что для всех форм требуется , чтобы иметь атрибут action.Если у вас есть один из них, клавиша ввода будет работать.У меня есть формы без кнопки отправки вообще, и клавиша ввода работает.

Вы можете прикрепить javascript к событию отправки, что может помешать браузеру перейти к действию URI.1007 * Но что бы вы ни делали, у вас должен быть action URI, и он должен быть функциональным.

...