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

有时在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值