用于不提交表单的 HTML 按钮

2022-08-29 23:16:53

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

<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>

答案 1

我认为这是HTML最令人讨厌的小特点...该按钮需要是“按钮”类型才能不提交。

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

2019年2月5日更新:根据HTML Living Standard(以及HTML 5规范):

缺少值的默认值无效值的默认值是“提交按钮”状态。


答案 2

return false;在 onclick 处理程序结束时将完成这项工作。但是,最好只是简单地添加到 - 这样即使没有任何JavaScript,它也能正常运行。type="button"<button>