将JavaScript确认警报替换为bootbox.js确认
Replace JavaScript confirm alert with bootbox.js confirm
我不太了解如何实现bootbox.js来取代我的标准javascript确认警报弹出窗口,需要一些帮助。我读了一些线程和文档,但就是不能完全正确。
我现在有这个按钮/链接,它保存了我模板中的记录编号:
<a href="{% url overseas_experience_details_duplicate overseas_experience_detail.id %}" onclick="if(confirmDuplicate())showProgressAnimation();else return false;">{% trans "Duplicate" %}</a>
这调用了我想用bootbox.js:替换的当前js函数
function confirmDuplicate() {
return confirm("Are you sure?");
}
如果选中"确定"选项,则会复制记录(复制记录时会显示显示进度动画(。如果选择了CANCEL(取消(选项,则不会发生任何事情。
我已经使用了以下代码来实现bootbox警报,但我不确定如何返回bootbox OK确认,这将复制记录。
bootbox.js
function confirmDuplicate() {
bootbox.confirm("Are you sure?", function(result) {
if (result == true) {
// not too sure what to insert here to return the bootbox confirm();
}
});
一些有效的建议将不胜感激
问题更新
我现在有bootbox确认弹出窗口显示,但我不能返回"true"或"false"确认结果。这是我的新代码:
function confirmDuplicate() {
bootbox.confirm({
callback: function(result) {
if (result) {
return result;
}
}
}
}
我很沮丧,因为我不能返回结果来复制记录。
任何帮助都会很棒。
试试这样的东西:
<a href="whatever" onclick="return myConfirm(this.href)">....
myConfirm = function(url) {
bootbox.confirm("sure?", function(okay) {
if(okay)
location.href = url;
});
return false;
}
您无法立即获得bootbox.confirm
结果,因此从处理程序返回false
,以防止链接被跟踪,并在回调函数中执行所需的操作。
继续我对您的问题的评论,这里有一个非阻塞的jquery版本:
$('.your-link-class').on('click', function(e) {
e.preventDefault(); //this would be equivalent to the return false in your code
var self = this;
bootbox.confirm("Are you sure?", function(result) {
if (result) {
// Here you have access to the jquery object of your link with $(self)
// and you can do stuff like, for example:
var clone = $(self).clone();
clone.insertAfter($(self));
}
});
});
还有一个演示(不是:在演示中,我使用传统的提示,因为我没有加载bootbox源代码(:
function isConfirm(message, elem) {
bootbox.confirm(message, function (result) {
if (result)
window.location.href = elem;
});
return false;
}
<a href='@Url.Action("DeleteAction", "Admin", new { id = Model.ActionObj.id })' onclick="javascript: return isConfrm('Are you sure you want to delete this action?', this)"> Delete </a>
使用此功能:
function isConfirm(message, elem) {
bootbox.confirm(message, function (result) {
if (result)
window.location.href = elem;
});
return false;
}
相关文章:
- 按钮字段确认点击不'不起作用
- 删除确认对话框在第一次单击时不起作用
- 在表单完成并确认密码之前,请禁用提交按钮
- 在asp.net中确认是或否消息
- javascript确认对话框有时会不断出现
- 是否可以用变量确认提示警报
- 检测在确认页面导航时单击了哪个按钮
- 确认前执行
- 如何为javascript方法放入jquery确认对话框
- 获取Meteor中自定义Bootbox字段的值
- jQuery:确认.html()是否可添加
- 是否可以将JXBrowser显示的JS确认对话框的结果返回到调用它的JS部分
- 在离开Aurelia.js上的页面之前,我如何要求用户进行确认
- 火灾在卸载前确认警报仅适用于外部站点
- Bootbox 4.1.0:如何将本地化字符串(如 Ok、Cancel)传递给 Bootbox 的确认
- 无法更改Bootbox中确认框的按钮颜色
- Bootbox javascript确认对话框
- 添加bootbox.js确认框到href link
- 将JavaScript确认警报替换为bootbox.js确认
- 我如何编辑Javascript / Bootbox/ Bootstrap确认窗口