jQuery插件函数返回一个值

时间:2012-10-22 04:10:00

标签: validation jquery-plugins return-value

我正在编写一个jquery表单验证插件,它的工作正常。我正在传递一个带有输入类型的表单ID,如下所示:

$('#contactForm :input').validateForm();

在我的插件中,我有以下代码:

jQuery(function($) {
    $.fn.validateForm = function() {
        var values = new Array();
        this.each(function() {
            $(this).removeClass('error');
            if($(this).hasClass('required'))
            {
                if($(this).hasClass('number'))
                {
                    number = $(this).val();
                    if(number == '' || number.length < 9 || number.length > 13 || isNaN(number))
                    {
                        $(this).addClass('error');
                    }

                }else{

                    return true;

                }
            }
        });
    }
});

现在我的问题是我希望我的插件返回一个值为true或false。如果表单已经过验证,那么它应该返回true,否则返回false。

我想实现类似的目标

val = $('#contactForm :input').validateForm();
if(val){
   //DO AJAX
}

我该怎么做?

1 个答案:

答案 0 :(得分:0)

jQuery(function($) {
    $.fn.validateForm = function() {
        var values = new Array();
        var isOK = true; /* Form is OK unless we detect an error */
        this.each(function() {
            $(this).removeClass('error');
            if($(this).hasClass('required'))
            {
                if($(this).hasClass('number'))
                {
                    number = $(this).val();
                    if(number == '' || number.length < 9 || number.length > 13 || isNaN(number))
                    {
                        $(this).addClass('error');
                        isOK = false; /* Remember that error was detected */
                    }

                }
            }
        });
        return isOK; /* let caller know if error was detected */
    }
});
相关问题