我正在编写一个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
}
我该怎么做?
答案 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 */
}
});