You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

删除前确认弹窗的Cancel按钮功能失效问题修复

删除确认点Cancel仍执行删除的修复方案

问题原因

  • 核心bug:<a>标签的onClick事件仅调用了myFunction(),未接收函数返回值。函数内部的return false仅能终止函数自身执行,无法拦截<a>标签默认的href跳转行为,因此点击Cancel后浏览器仍会请求delete.php执行删除。
  • 额外规范问题:<a>标签内部嵌套<button>不符合HTML语法规范,易产生异常点击行为,建议移除嵌套的按钮标签。

修复方法

只需要两步调整:

  1. 把<a>标签的onClick='myFunction()'修改为onClick='return myFunction()',把函数的布尔返回值传给点击事件,实现默认跳转行为的拦截
  2. 简化myFunction逻辑:confirm()本身就会返回布尔值,不需要额外做if判断,直接返回结果即可

修复后完整代码

echo "<a onClick='return myFunction()' href='./delete.php?userID=".$row['userID'] ."'>Delete</a>";

<script> 
function myFunction() {
    return confirm("OK to delete?");
}
</script>

修复后逻辑:点击删除链接弹出确认框,点Cancel时confirm返回false,点击事件拦截a标签跳转,不会触发删除;点OK时confirm返回true,正常跳转至删除地址执行操作。

内容的提问来源于stack exchange,提问作者Pul96

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 00:01:20