button单击禁用表单自动提交

我有一个HTML表单,我使用了几个button。 问题是无论我点击哪个button,即使button不是“submit”types,表单也会被提交。 例如Buttons: <button>Click to do something</button> ,导致表单提交。

为每个button做一个e.preventDefault()是相当痛苦的。

我使用jQuery和jQuery UI,网站是HTML5。

有没有办法来禁用这种自动行为?

button像<button>Click to do something</button> 提交button。

设置type="button"来改变这一点。 type="submit"是默认值( 由HTMLbuild议指定 )。

做你想做的事并不困难。 你可以尝试使用return false (返回false覆盖每个DOM元素的默认行为):

 myform.onsubmit=function() { //do what you want; return false; } 

然后使用myform.submit()提交表单

或者可选地:

 mybutton.onclick=function () { //do what you want; return false; } 

不过,我认为inputtypes=“button”/buttontypes=“button”不会提交您的表单,你可以使用它们没有任何问题。

实际上提交button,他们没有其他的主要function。 你将不得不将types设置为button。
但是,如果你像下面那样绑定你的事件处理程序,那么你的目标是所有的button,而不必为每个button手动执行。

 $('form button').on("click",function(e){ e.preventDefault(); }); 

如果你想直接添加到input作为属性,使用此

  onclick="return false;" <input id = "btnPlay" type="button" onclick="return false;" value="play" /> 

这将阻止表单提交行为