javascript - 使用 JS 取消表单提交

标签 javascript html submit

为了论证起见,我们假设这是我的代码。

function the_delete() { 

if(confirm('Delete your Account')){
alert("Account Deleted, Redirecting to homepage");
} else {
//Stop the submit
}

}
<form method="post" action="my-account/settings/delete-account">
 <button class="btn" onclick="the_delete()">Delete Account</button>
     </form>

当用户按下取消键时,如何停止表单提交?

谢谢

最佳答案

您需要从 onclick 函数返回 true 或 false 值。

这意味着您需要修改 onclick 函数和 the_delete 函数。

function the_delete() {

  if (confirm('Delete your Account')) {
    alert("Account Deleted, Redirecting to homepage");
    return true;
  } else {
    return false;
  }

}
<form method="post" action="my-account/settings/delete-account">
  <button class="btn" onclick="return the_delete()">Delete Account</button>
</form>

现代 JavaScript(针对比 Internet Explorer 8 更现代的浏览器)会将事件处理程序与 JavaScript 绑定(bind)并操作事件对象。

function the_delete(event) {
  if (confirm('Delete your Account')) {
    alert("Account Deleted, Redirecting to homepage");
  } else {
    event.preventDefault()
  }
}

document.querySelector("form").addEventListener("submit", the_delete);
<form method="post" action="my-account/settings/delete-account">
  <button class="btn">Delete Account</button>
</form>

关于javascript - 使用 JS 取消表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50485976/

相关文章:

jQuery 不会读取 JSON 响应(使用 $.post)

javascript - Google Maps API 和 KML 文件 LocalHost 开发选项

javascript - 将整个表 html 代码保存在变量中

javascript - NodeJS如何在net模块中实现请求/响应

html - 如果元素在父元素之外,则隐藏该元素

html - 如何制作一个跨越文档整个高度的 div,即使它不包含任何内容?

php - 如何将数据库结果放入 ScrollBox

ruby-on-rails - 如何使用 boolean 值创建接受/拒绝按钮?

javascript - Extjs - 组合框提交值

javascript - 在 Google Maps Javascript API v3 中一次拖动多个多边形