我有一个简单地验证表单的功能(对于旧浏览器)。该函数工作得很好,除了我每次调用这个函数时都必须传递参数,实际上我已经在'config'中指定了默认参数。
所以从逻辑上讲,如果我将函数称为:validateMe();
它应该运行为validateMe({requiredClass: '.required', verifiedClass: 'invalid'});
但不幸的是,不带参数调用函数无法正常工作(在我的情况下,表单触发了提交事件)(它没有到达return false
)。
那么使用默认设置运行该功能的代码中缺少什么?
function validateMe(vform, settings) {
var vform, //form name or id
config = {
'requiredClass': '.required',
'verifiedClass': 'invalid'
};
if (settings) {
$.extend(config, settings);
}
$(vform).on('submit', function(){
var inputs = $(this).find(config.requiredClass),
required = [];
for (i=0; i < inputs.length; i++) {
if (inputs[i] != null) {
if ($(inputs[i]).val().replace(/^\s+|\s+$/g, '') == '') {
required.push($(inputs[i]).index());
}
}
}
if (required.length > 0) {
$(this).find('input').removeClass(config.verifiedClass);
for(n=0;n<required.length;n++) {
$(inputs[n]).addClass(config.verifiedClass);
}
return false;
}
});
}
有什么帮助吗?
谢谢。