【问题标题】:Why is <button> "clicked" on form submit?为什么在表单提交时“点击”了 <button>?
【发布时间】:2013-01-19 15:00:25
【问题描述】:

在下面代码中表单的&lt;input&gt;上按return似乎会触发两个事件:

  • submit 事件,
  • 表单中第一个 &lt;button&gt;click 事件。

preventDefault 似乎取消了submit 事件,但click 事件并没有停止,因为它是在submit 事件之前触发的。我可以用&lt;input type="button"&gt; 替换&lt;button&gt;,但是为什么&lt;button&gt; 被点击了?如何预防?

这是http://jsfiddle.net/MNXUS/的表格:

<form>
  <button></button>
  <input>
</form>

【问题讨论】:

    标签: javascript html forms preventdefault


    【解决方案1】:

    这正是浏览器所做的。如果您不想让按钮提交表单,可以将其设为“按钮”按钮而不是“提交”按钮:

    <button type=button>Click Me</button>
    

    【讨论】:

    • 哇,“按钮”是其中一个如果你看久了就会出现拼写错误的词。
    • 几年前我在 SXSW 上看到了一个关于“按钮的历史”的演讲。这很迷人。
    猜你喜欢
    • 2012-06-10
    • 1970-01-01
    • 2019-03-04
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    相关资源
    最近更新 更多