首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >禁用单击按钮时表单自动提交

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

Stack Overflow用户
提问于 2012-03-22 22:56:50
回答 4查看 180.3K关注 0票数 207

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

为这些按钮中的每一个执行e.preventDefault()是相当痛苦的。

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

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

EN

回答 4

Stack Overflow用户

发布于 2012-03-22 23:01:17

<button>实际上是提交按钮,它们没有其他的主要功能。你必须将类型设置为按钮。

但是,如果您像下面这样绑定事件处理程序,那么您将针对所有按钮,而不必手动为每个按钮执行此操作!

代码语言:javascript
复制
$('form button').on("click",function(e){
    e.preventDefault();
});
票数 14
EN

Stack Overflow用户

发布于 2016-03-08 16:18:14

如果要以属性的形式直接添加到输入,请使用以下命令

代码语言:javascript
复制
 onclick="return false;" 

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

这将阻止表单提交行为

票数 1
EN

Stack Overflow用户

发布于 2022-02-09 17:45:11

就像mas-designs说的,打电话给preventDefault()。您可以在表单本身上调用它。这里有一个对所有表单执行此操作的函数,vanilla JS。

代码语言:javascript
复制
function forms_ini(){
  for(var form of document.getElementsByTagName('form')){
    form.addEventListener('submit', function(ev){
      ev.preventDefault()
    })
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9824808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档