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" />
这将阻止表单提交行为