有人能解释一下为什么在输入中按下enter
键时submit
事件永远不会触发吗?
<form>
<input type="text" placeholder="press enter here"/>
<button disabled>disabled</button>
<button type="submit">submit</button>
</form>
单击submit按钮可以很好地工作。如果我去掉禁用的按钮,它工作得很好。
测试环境:
第一个按钮被禁用,但第二个按钮没有type="submit"
。
这是一个已知的问题吗?谢谢,
发布于 2018-05-25 06:32:24
这种行为是有意为之的。§4.10.21.2 "Implicit submission"是HTML5标准的相关部分
form
元素的缺省按钮是按树顺序排列的第一个表单所有者是该表单元素的提交按钮。
如果用户代理支持让用户隐式提交表单(例如,在某些平台上,在文本控件处于焦点时按"enter“键隐式提交表单),则对默认按钮具有激活行为且未被禁用的表单执行此操作,必须导致用户代理在该默认按钮上触发一个click
事件。
表单中的第一个“提交”按钮始终被视为默认按钮,即使它已被禁用。禁用它会阻止它被用来提交表单。
https://stackoverflow.com/questions/50518923
复制相似问题