我可以使<button>不提交表单吗?

我有一个表格,有两个按钮

<a href="index.html"><button>Cancel changes</button></a>

<button type="submit">Submit</button>

我也使用jQuery UI的按钮,就像这样

$('button').button();

但是,第一个按钮也会提交表单。我本以为,如果没有type="submit",它就不会。

显然我可以做到这一点

$('button[type!=submit]').click(function(event) { event.stopPropagation(); });

但是有没有办法可以在没有JavaScript干预的情况下阻止后退按钮提交表单?

老实说,我只使用了一个按钮,因此可以使用jQuery UI设置样式。我尝试调用button()该链接,但未如预期的那样工作(看起来非常难看!)。

西门飞云泡芙2020/03/12 18:25:50

Yes, you can make a button not submit a form by adding an attribute of type of value button: <button type="button"><button>

古一村村2020/03/12 18:25:50
<form onsubmit="return false;">
   ...
</form>
泡芙小卤蛋Tom2020/03/12 18:25:50

所述button元件具有的默认类型submit

您可以通过设置以下类型使其不执行任何操作button

<button type="button">Cancel changes</button>
猪猪Jim2020/03/12 18:25:50

Without setting the type attribute, you could also return false from your OnClick handler, and declare the onclick attribute as onclick="return onBtnClick(event)".

神无乐2020/03/12 18:25:50

为默认值type的属性的button元素 “提交”。将其设置type="button"为产生不提交表单的按钮。

<button type="button">Submit</button>

HTML标准的话说:“什么都不做。”

StafanDavaid2020/03/12 18:25:50

只需使用良好的旧HTML:

<input type="button" value="Submit" />

如果需要,可以将其包装为链接的主题:

<a href="http://somewhere.com"><input type="button" value="Submit" /></a>

Or if you decide you want javascript to provide some other functionality:

<input type="button" value="Cancel" onclick="javascript: someFunctionThatCouldIncludeRedirect();"/>