如果没有返回错误,则关闭模态对话框

时间:2014-03-19 11:27:42

标签: jquery

我正在使用jquery表单插件。

我希望在没有从服务器返回错误时关闭模态窗体窗口。 如果我喜欢这个

$(document).ready(function() {
    var options = {
            url: 'reg/registration.html',
            type: 'post',
            success: function(data) {
                removeErrors();
                var data = JSON.parse(data);
                $.each(data, function(i, item) {
                    addError("#input" + item.field, item.codes[3]);
                });
            }
        };
        $("#registrationForm").ajaxForm(options);
});
$("#registerBtn").click(function() {
    $("#registrationForm").submit();
    return true;
});

关闭模态窗口。如果我return false它没有关闭它。

但是我想只在成功函数中data的长度为0时才关闭模态窗口。 怎么做?

我的模态窗口

<div class="modal" id="register" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <h4>New user registration <span class="glyphicon glyphicon-user"></span></h4>
                </div>
                <div class="modal-body">
                    <div class="row">
                        <div class="col-md-8 col-md-offset-2">
                            <form:form role="form" id="registrationForm" commandName="registerForm">
                            </form:form>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button id="registerBtn" class="btn btn-primary" data-dismiss="modal">Register</button>
                    <button class="btn btn-danger" data-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>

1 个答案:

答案 0 :(得分:1)

您可以在回调中有条件地关闭它:

        success: function(data) {
            removeErrors();
            var data = JSON.parse(data);
            if(data.length === 0) {
                $("#register").remove();//this will call close and destroy
            } else {
                $.each(data, function(i, item) {
                    addError("#input" + item.field, item.codes[3]);
                });
            }
        }

然后使用它:

$("#registerBtn").click(function() {
    $("#registrationForm").submit();
    return false; // This disables the default closing behaviour
});