如何拦截对<按钮>标签的点击并停止提交

how to intercept a click on a <button> tag and stop the submit?

本文关键字:提交 何拦截 按钮 标签      更新时间:2023-09-26

我有一个带有一些按钮标签的表单,其中一个是删除按钮。我想拦截点击并要求确认。我可以用下面的代码拦截它,但无论我回答什么,它都会处理。

.HTML:

<button type=submit id=mydelbuttonid value=delete name=deletebutton>Delete</button>

j查询:

$('button#mydelbuttonid').on("click", function(e) {
  if (confirm('Are you sure you want to delete this record?')) {
    alert('deleting');
  }
  else {
    alert('not deleting');
    event.preventDefault();
    return false;
  }
});

我收到了正确的警报,但记录还是被删除了。

有人知道如何解决这个问题吗?我已经在互联网上搜索了一段时间,找到了很多针对<a>标签的解决方案,但没有针对<button>标签的解决方案。

正如@A.Wolff正确指出的那样,e !== event...

event更改为e反之亦然将允许实际触发preventDefault(之后return false变得多余)。

$('button#mydelbuttonid').on("click", function(e) {
  if (confirm('Are you sure you want to delete this record?')) {
    alert('deleting');
  }
  else {
    alert('not deleting');
    e.preventDefault();
    /*return false;*/
  }
})