继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

刨根问底:HTML中form的隐式提交

隔江千里
关注TA
已关注
手记 165
粉丝 37
获赞 179

有时在HTML页面form的input里按了回车键会提交该表单,并且form的submit按钮的click事件也会被触发.这是什么原理呢?是因为form的隐式提交(Implicit submission)机制
https://www.w3.org/TR/html52/sec-forms.html#implicit-submission中是这么解释的

A form element’s default button is the first Submit Button in tree order whose form owner is that form element.

form的第一个submit按钮作为default button

If the user agent supports letting the user submit a form implicitly (for example, on some platforms hitting the "enter" key while a text field is focused implicitly submits the form), then doing so for a form whose default button has a defined activation behavior must cause the user agent to run synthetic click activation steps on that default button.

浏览器隐式提交时要触发default button的click事件.在某些平台上,text field获得焦点时,按回车键会触发隐式提交

If the form has no Submit Button, then the implicit submission mechanism must do nothing if the form has more than one field that blocks implicit submission, and must submit the form element from the form element itself otherwise.
For the purpose of the previous paragraph, an element is a field that blocks implicit submission of a form element if it is an input element whose form owner is that form element and whose type attribute is in one of the following states: Text, Search, URL, Telephone, E-mail, Password, Local Date and Time, Date, Month, Week, Time, Number

form里有超过一个的input时,必须阻止隐式提交

在早期的HTML规范中,还有如下描述

When there is only one single-line text input field in a form, the user agent should accept Enter in that field as a request to submit the form.

如果form里只有一个text input,那么那个input按回车要触发form提交
地址是https://www.w3.org/MarkUp/html-spec/html-spec_8.html#SEC8.2



作者:大神带我来搬砖
链接:https://www.jianshu.com/p/3d0c991184f1


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP