html - HTML 标准是否说明按 Enter 提交表单?
问题描述
每个浏览器似乎都将按下Enter视为提交表单。这种行为是由 HTML 标准指定的,还是只是浏览器通常实现的?
相关但更详细地介绍了按钮的确切行为:所有浏览器的处理都输入(键 13)相同的内部表单吗?
我找到的最接近的,来自https://www.w3.org/TR/html52/sec-forms.html#implicit-submission:
如果用户代理支持让用户隐式提交表单(例如,在某些平台上,当文本字段聚焦时按下“enter”键会隐式提交表单),那么对于默认按钮已定义激活的表单执行此操作行为必须导致用户代理在该默认按钮上运行合成点击激活步骤。
这表明它依赖于平台。
解决方案
在 html 标准中
https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#implicit-submission
你会发现这个:
4.10.21.2 隐式提交
表单元素的默认按钮是树形顺序中的第一个提交按钮,其表单所有者是该表单元素。
如果用户代理支持让用户隐式提交表单(例如,在某些平台上,当文本控件获得焦点时按下“enter”键会隐式提交表单),那么对于默认按钮具有激活行为的表单执行此操作并且未被禁用,必须使用户代理在该默认按钮处触发单击事件。
本质上:DOM 树中的第一个可提交按钮(属于表单)将在“Enter”时触发。
推荐阅读
- java - Java - 将一个列表中的对象属性映射到另一个对象列表
- python - Pygsheets .updated 返回“找不到文件”
- java - 显示空的 JScrollpane
- angular5 - 如何在不重新加载页面的情况下“刷新”Angular 中的组件?
- google-bigquery - 用 java 覆盖 BigQuery 中的表
- python-3.6 - Unexpected IndentationError - 为什么?
- javascript - 无法为 Chrome 中的日期输入赋值
- json - 尝试使用 json API 时出现 React JS - 404 - (Not Found) 错误
- python - Python:拆分文本/xml;charset=UTF-8
- twilio - 使用 Twilio 可编程聊天 REST API 获取用户私人频道列表