比如说,我有一个带有文本输入和提交按钮的表单。
如果表单中没有按钮,只需提交事件触发器,但是如果至少有一个按钮没有类型属性或使用type="submit"
,它也会单击它。
现在,当我在输入中输入一些内容,然后按Enter,我看到两个按钮单击和表单提交事件都被触发。
示例:
<form>
<input type="text" />
<button onclick="alert('submitted');">Submit</button>
</form>
我认为表单会自动单击表单提交事件上的按钮。
我想知道这种行为的起源和原因?为什么我提交表单时需要点击按钮?
发布于 2016-06-13 14:11:04
它实际上不会自动按下按钮,这不是提交表单的内容。提交表单是因为这是文本框的默认特征--如果文本框中有焦点,按enter键将导致提交表单的尝试。本文将深入解释:https://www.tjvantoll.com/2013/01/01/enter-should-submit-forms-stop-messing-with-that/
编辑:实际上,更具体地说,只有在以下情况下,表单才会提交:1)表单中存在submit按钮,或者2)表单只包含一个文本输入
如果这些条件都不正确,则enter键不应提交表单。
https://stackoverflow.com/questions/37791840
复制相似问题