拦截删除按钮按下-在确认中取消不会起任何作用

Intercept delete button press - cancelling in confirmation does nothing

本文关键字:取消 作用 任何 确认 删除 按钮      更新时间:2023-09-26

我最近问了一个类似的问题:

我想";"截距";按下删除按钮

基本上,我试图拦截一个删除按钮按下。我可以在onclick=中使用confirm("Are you sure?")获得确认,但是,无论我选择什么,确定还是取消,它仍然会继续删除我点击删除的项目。

如何防止这种情况发生?

我的代码如下:

'<td><button type="submit" name="del" onclick="confirm(''Are you sure?'')" value=' . stripslashes($servrow["serv_id"]) . '>Del</button></td>

如何使单击"取消"不会删除项目!

(如果有人需要我将穿插的PHP转换为HTML,请告诉我,我很乐意,以增加对我的问题的理解)

<td><button type="submit" name="del" onclick="if !confirm(''Are you sure?'') return false;" value=' . stripslashes($servrow["serv_id"]) . '>Del</button>

确认对话框返回一个值,具体取决于单击了哪个按钮("确定"或"取消")。

此时,确认对话框正在显示,无论单击哪个按钮,表单的submit操作都已完成(我假设会继续删除项目)。

您应该将onclick功能放入一个函数中,因此:

<button type="submit" name="del" onclick="return confirmDelete();" value=' . stripslashes($servrow["serv_id"]) . '>Del</button>

confirmDelete()函数看起来像:

var c = confirm('Are you sure?');
if(c==true) {
    return true;
} else {
    return false;
}

返回true将允许submit操作完成。返回false将阻止它完成(同样,我假设只有在提交表单时才处理删除)。