1

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
}

どうやってやるの?

4

1 に答える 1

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 */
    }
});
于 2012-10-22T04:49:02.630 に答える