Javascript confirm弹窗点击取消仍提交表单问题求助
问题原因
- 核心问题出在ASP按钮的
OnClientClick属性配置上:你仅调用了message()函数,没有将函数的返回值传递给客户端点击事件,因此即使message()函数返回了false,点击事件还是会执行默认的表单提交逻辑,导致页面跳转。 - 你的JS逻辑本身可以正常运行,只是写法存在冗余可以优化。
修复方案
1. 修改ASP按钮代码
将原有按钮的OnClientClick属性值前加上return,把函数的返回值透传给点击事件:
<asp:Button ID="save" runat="server" OnClientClick="return message();" Text="Save" />
2. (可选)简化JS代码
confirm()本身就会返回布尔值,不需要额外声明变量判断再返回,可以简化为:
function message() { return confirm("Continue?"); }
修改完成后点击弹窗的取消按钮时,message()返回false会直接阻断点击事件的默认行为,不会触发表单提交。
内容的提问来源于stack exchange,提问作者Mattr42
相关产品推荐
相关产品推荐

