开发者问题收集

HTML 按钮不提交表单

2010-05-13
270009

我有一个表单。在表单外面,我有一个按钮。一个简单的按钮,如下所示:

<button>My Button</button>

但是,当我单击它时,它会提交表单。这是代码:

<form id="myform">
    <label>Label 
      <input />
    </label>
</form>
<button>My Button</button>

这个按钮应该做的只是一些 JavaScript。但即使它看起来就像上面的代码一样,它也会提交表单。当我将标签按钮更改为 span 时,它工作正常。但不幸的是,它需要是一个按钮。有什么方法可以阻止该按钮提交表单吗?例如

<button onclick="document.getElementById('myform').doNotSubmit();">My Button</button>
3个回答

我认为这是 HTML 最烦人的小怪癖……该按钮必须是“按钮”类型才能不提交。

<button type="button">My Button</button>

2019 年 2 月 5 日更新: 根据 HTML 实时标准 (以及 HTML 5 规范 ):

The missing value default and invalid value default are the Submit Button state.

Dave Markle
2010-05-13

return false; 在 onclick 处理程序的末尾即可完成此工作。但是,最好只是将 type="button" 添加到 <button> - 这样,即使没有任何 JavaScript,它也能正常运行。

ThiefMaster
2010-05-13

默认情况下,html按钮提交表单。

919596571

换句话说,按钮类型默认为“提交”

681822324 868492750 849281803 099609554

要了解更多信息,请查看Mozilla Developer Network在按钮上的信息:

GJZ
2016-11-20