我有以下代码,效果很好:
$('#register form .submit input').click(function(){
if(jQuery.trim($('#new-usr').val()) == '' || jQuery.trim($('#new-pwd').val()) == '' || jQuery.trim($('#new-pwd-confirm').val()) == ''){
alert('Please fill in every required field (marked with an asterisk)');
return false;
}
});
但是,我还有很多字段可以添加到此,并且认为必须有一种方法可以将输入ID存储在数组中并循环遍历它们,而不是为每个字段添加jquery.trim($('#inputid').val()) == ''
。
jQuery验证插件在这个例子中是禁止的,原因太无聊了。
答案 0 :(得分:4)
尝试一下:
$('#register form .submit input').click(function(){
var success = true;
$("#register form .required").each(function(){
if(this.value === ""){
success = false;
}
});
if(!success){
alert('Please fill in every required field (marked with an asterisk)');
return false;
};
});
并为所有必填字段提供课程required
修改强> 这应该是:
$('#register form .submit input').click(function(){
var success = true;
$("#new-usr, #new-pwd, #new-pwd-confirm").each(function(){
if(this.value === ""){
success = false;
}
});
if(!success){
alert('Please fill in every required field (marked with an asterisk)');
return false;
};
});
答案 1 :(得分:1)
尝试这样的事情(使用.each()循环选择 - 不是真正的数组,但更容易维护):
$('#register form .submit input').click(function(){
// add IDs here
// vvv
$('#new-usr, #new-pwd, #new-pwd-confirm').each(function(){
if($(this).val()) == ''){
alert('Please fill in every required field (marked with an asterisk)');
return false;
}
});
});
答案 2 :(得分:1)