使用return false时,javascript确认(取消)仍然提交表单?

标签 javascript html forms function

我正在使用以下代码:

        <form method='POST' action='post.php' style='margin-bottom:0px;'>
        <input type='image' name='close_x' src='imgs/button.png' onclick='confirmClose()'>
        </form>

       function confirmClose() {
            if (confirm('Are you sure you wish to close?')) {
                return true;
            } else {
                return false;
            }
        }

但是,当您单击确认框中的“取消”时,它仍然会提交表单。

返回 false 肯定应该阻止这种情况发生吗?

知道为什么吗?

谢谢。

最佳答案

不要使用内联事件处理程序。

document.getElementsByName('close_x')[0].onclick = function confirmClose(e) {
  if (!confirm('Are you sure you wish to close?'))
    e.preventDefault();
};
#myform {
  margin-bottom: 0px;
}
<form id="myform" method='POST' action='post.php'>
  <input type='image' name='close_x' src='imgs/button.png'>
</form>

关于使用return false时,javascript确认(取消)仍然提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26393860/

相关文章:

javascript - 在工具提示中使用 ng-click

javascript - 如何使用 ng-options 在选择上设置提示?

jquery - 获取点击菜单的链接

html - 根据屏幕大小调整div

C# 从另一个窗体访问一个窗体的组合框项

c# - FormCollection 未传递给 Controller

javascript - OWIN cookie 身份验证在客户端获取角色

javascript - 使用滤镜时提高 Angular 性能

javascript - 在多个 <select> 列表中换行文本

javascript - 使用 jQuery 隐藏/显示功能时,表单提交按钮不起作用