在ajax错误上保持fancybox打开

时间:2013-11-11 13:10:19

标签: javascript jquery ajax fancybox

我的代码的结构方式,fancybox在短暂显示错误消息后自动关闭。我希望它保持开放,以便用户可以修复他/她的错误。我做错了什么?

$(document).ready(function(){
    $("#message_form").on("submit", function(){

        if ($("#guest_name").val().length < 1 || $("#guest_message").val().length < 1) {
            $("#guest_error").show();
            $.fancybox.resize();
            return false;
        }

        $.fancybox.showActivity();
        $.ajax({
            type: "POST",
            cache: false,
            url: "/guestbook/",
            data: $(this).serializeArray(),
            success: function(data){
                $.fancybox(data);
            },


        });
        return false;

    });
})

2 个答案:

答案 0 :(得分:0)

您有一个用于缓存ajax错误的错误回调。

(文档)$。就绪(函数(){     $(“#message_form”)。on(“submit”,function(){

    if ($("#guest_name").val().length < 1 || $("#guest_message").val().length < 1) {
        $("#guest_error").show();
        $.fancybox.resize();
        return false;
    }

    $.fancybox.showActivity();
    $.ajax({
        type: "POST",
        cache: false,
        url: "/guestbook/",
        data: $(this).serializeArray(),
        success: function(data){
            $.fancybox(data);
        },
        error: function(e){
            var error_data = e;
            $.fancybox(error_data);
        }


    });
    return false;

});

})

答案 1 :(得分:0)

我删除了$.fancybox.resize();行并且它有效。耶。