猿问

单击按钮时禁用表单自动提交

我有一个HTML表单,其中使用了几个按钮。问题是,无论我单击哪个按钮,即使该按钮的类型不是“ submit”,也将提交表单。例如:之类的按钮<button>Click to do something</button>,导致表单提交。


e.preventDefault()为这些按钮中的每个按钮执行一次操作是非常痛苦的。


我使用jQuery和jQuery UI,并且网站使用HTML5。


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


慕码人2483693
浏览 687回答 3
3回答

阿波罗的战车

像按钮<button>Click to do something</button> 是提交按钮。设置type="button"以改变它。type="submit"是默认值(由HTML建议指定)。

慕姐4208626

做您想要的事并不难。您可以尝试使用return false(return false会覆盖每个DOM元素的默认行为),如下所示:myform.onsubmit=function(){&nbsp;&nbsp; //do what you want;&nbsp; return false;}然后使用myform.submit()提交表单或者:mybutton.onclick=function ()&nbsp;{&nbsp; &nbsp;//do what you want;&nbsp; &nbsp;return false;}但是我认为Input type =“ button” / Button type =“ button”不会提交您的表单,您可以毫无问题地使用它们。

守着一只汪

<button>实际上是提交按钮,它们没有其他主要功能。您必须将类型设置为按钮。但是,如果您按如下所示绑定事件处理程序,则可以定位所有按钮,而不必为每个按钮手动执行操作!$('form button').on("click",function(e){&nbsp; &nbsp; e.preventDefault();});
随时随地看视频慕课网APP
我要回答