我在删除记录之前使用bootbox对话框进行确认。
这是我的jQuery脚本,用于在删除记录之前进行确认。
<a class="btn btn-xs btn-danger" id="deleteContent" title="Delete">delete</a>
$('#deletec').click(function (e) {
bootbox.dialog({
message: "you data is save",
title: "Custom title",
buttons: {
success: {
label: "Success!",
className: "btn-success",
callback: function () {
Example.show("great you save it");
}
},
danger: {
label: "Danger!",
className: "btn-danger",
callback: function () {
Example.show("record deleted!");
}
}
}
});
});
显示正确的对话框,但记录被删除而未经确认,任何人都可以告诉我如何在没有确认的情况下阻止删除记录?提前谢谢。
答案 0 :(得分:1)
您无法执行所需操作,因为您使用的模式对话框无法暂停点击操作。您需要取消点击操作而不是拨打电话。
一种方法是取消绑定并再次调用
$('#deleteContent').on("click", function (e) {
e.preventDefault();
bootbox.dialog({
message: "you data is save",
title: "Custom title",
buttons: {
success: {
label: "Success!",
className: "btn-success",
callback: function () {
Example.show("great you save it");
}
},
danger: {
label: "Danger!",
className: "btn-danger",
callback: function () {
Example.show("record deleted!");
$('#deleteContent').off("click")[0].click();
}
}
}
});
});
正如我在上面的评论中所说,用get获取删除请求是一个不好的想法。如果用户有一个预取页面的插件,请告别数据库中的所有数据。
代码中会发生什么
e.preventDefault();
取消点击事件,使其不会转到服务器$('#deleteContent').off("click")
//删除click事件,以便不再调用[0].click()
//选择DOM元素并调用click事件来触发导航