我正在尝试使用它:
$('#delete').live('click',function(){
var result;
bootbox.confirm("Are you sure?", function(response){
result=response;
});
alert(result);
return result;
});
但是当点击按钮时:
警报首先显示,并且仅在该引导框显示确认对话框后显示。
我想返回响应,但是如果我在回调中执行它不起作用,因为它返回来自回调的响应而不是$('#devicedelete')。live('click',function(){ });
顺便说一下,我正在尝试根据回复提交表单。因此,如果我返回'true'表单将被提交,否则如果它返回'false',表单将不会被提交。
请检查:http://pastebin.com/9H3mxE9Y
我有一个包含每行复选框的大表,用户选中复选框,然后点击任何按钮'删除','复制'等,并提交表格。
由于
答案 0 :(得分:4)
对话框是异步的,您可以立即阻止默认操作,然后在用户接受时调用提交。以下是一个示例:http://jsfiddle.net/ty5Wc/3/
$('#delete').on('click', function (e) {
e.preventDefault();
bootbox.confirm("Are you sure?", function (response) {
if(response) {
$('#form').submit();
}
});
});
$('#form').submit(function () {
//do your validation or whatever you need to do before submit
});
编辑:在与OP讨论之后,他还希望在查询字符串中传递按钮值,我的解决方案是:http://jsfiddle.net/ty5Wc/5/
$('#delete').on('click', function (e, confirmed) {
if (!confirmed) {
e.preventDefault();
bootbox.confirm("Are you sure?", function (response) {
if (response) {
$('#delete').trigger('click', true);
}
});
}
});
$('#form').submit(function (e) {
//do your validation or whatever you need to do before submit
});