0

我的代码的结构方式是,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;

    });
})
4

2 回答 2

0

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

$(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);
        },
        error: function(e){
            var error_data = e;
            $.fancybox(error_data);
        }


    });
    return false;

});

})

于 2013-11-11T13:16:29.297 回答
0

我删除了这$.fancybox.resize();条线,它起作用了。耶。

于 2013-11-11T15:34:03.230 回答