【问题标题】:Click event on button is trigged when submitting a form with enter使用 enter 提交表单时触发按钮上的单击事件
【发布时间】:2012-08-01 13:11:21
【问题描述】:

我有一个带有两个按钮的表单,一个是input[type=submit],一个是普通的button,它是取消按钮。

我有两个事件处理程序,一个绑定到submit 上的form,一个绑定到click 上的button

当我通过在输入中按 enter 提交表单时,按钮上的点击事件会触发(并且在我可能添加的提交事件之前),这是为什么呢?

这在 gecko 和 webkit 中都会发生。

这是一个工作示例: http://jsfiddle.net/q3JPR/

如果你按回车提交,我希望触发提交事件,而不是点击事件。

【问题讨论】:

  • 这也发生在我身上,我花了大约一个小时在整个网络上搜索并没有找到任何关于这种行为的文档,如果你发现了什么,请告诉我。

标签: javascript html forms dom-events


【解决方案1】:

如果您将按钮更改为<input type="button"...,那么您的事件将正常运行......这是小提琴:

Working Fiddle

【讨论】:

【解决方案2】:

我也找到了这个解决方案。如果您将 type 属性设置为“button”<button type="button">My Button</button>,它将不会提交。我认为默认情况下不指定类型会将其设置为提交。因此,您不必更改要输入的元素。

来源:Add regular button inside form that does not perform a submit

【讨论】:

  • 你是根据哪个答案构建的?
猜你喜欢
  • 2018-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-10
  • 2016-07-07
相关资源
最近更新 更多