防止在ajax之后关闭bootbox

时间:2016-02-09 13:59:50

标签: jquery ajax bootbox

我正在使用启动箱登录我的用户,并希望在出现错误时将其保持打开状态。从this link来看,我所要做的就是使用return false。但是,我的bootbox仍在关闭;我的猜测是因为我发送了一个ajax请求来进行表单验证。

在检查用户名/密码是否为有效服务器端时,是否仍然保持启动程序箱打开?而且,一个似乎有用的解决方案就是创建一个打开bootobx的功能,并在失败时重新打开它,但是会有一个“更清洁”的解决方案。

Range("A15:I17").Copy
    Range("A14").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

1 个答案:

答案 0 :(得分:3)

一个选项是在进行ajax调用后使你的bootbox回调返回false(以防止它自动关闭),然后在登录成功时使用hide方法为bootstrap模式({{ 3}})。如下所示:

var box = bootbox.dialog({
    title: title,
    message: message,
    buttons: {
        success: {
            label: "Submit",
            className: "btn-success",
            callback: function() {
                var username = $('.bootbox-body input[name="username"]').val();
                var password = $('.bootbox-body input[name="password"]').val();

                $.post('ajax/sign_in.php', {
                    username: username,
                    password: password
                }, function () { }, 'json').done(function (o) {
                    if (o.success) {
                        box.modal('hide');
                    }
                    if (o.error) {
                        $('#login_error').html(o.error);
                    }
                });
                return false;
            }
        }
    }
});