Javascript 表单验证-数组循环?
我有以下代码,运行良好:Javascript 表单验证-数组循环?,javascript,jquery,Javascript,Jquery,我有以下代码,运行良好: $('#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 require
$('#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存储在一个数组中并在其中循环,而不是为每个ID添加jquery.trim($('#inputid').val())=='
jQuery验证插件在这种情况下是不可使用的,因为这里的原因太无聊了,无法深入讨论。尝试类似的方法(用于循环选择-不是真正的数组,但更易于维护):
尝试类似的方法(用于循环选择-不是真正的数组,但更易于维护):
您可以使用以下内容:
只需将所需的类添加到输入变量中,并使用jQuery循环它们。您可以使用以下方法: 只需向输入变量中添加一个必需的类,然后使用jQuery循环它们。尝试一下:
$('#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;
};
});
并将所有必填字段设置为classrequired
编辑
这应该比:
$('#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;
};
});
尝试一下:
$('#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;
};
});
并将所有必填字段设置为classrequired
编辑
这应该比:
$('#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;
};
});
我总是忘记
。each()
,谢谢。验证非常有效,但出于某种原因,它不会返回false。知道为什么吗?因为返回false是针对每个
函数的,而不是针对提交
function@red-X:谢谢你的提示,我错过了-你的解决方案显然是更好的。我总是忘记。each()
,谢谢。验证非常有效,但出于某种原因,它不会返回false。知道为什么吗?因为返回false是针对每个
函数的,而不是针对提交
function@red-X:谢谢你的提示,我错过了-你的解决方案显然是更好的。我恐怕无法通过html添加类,因此无法使用验证插件,谢谢。@ScottBrown在这种情况下,你应该用一个选择器来替换#注册表表单。required
,该选择器可以用另一种方式选择所有必填字段,比如#new usr、#new pwd、#new pwd confirm
我恐怕无法使用html添加类,因此无法使用验证插件,谢谢。@ScottBrown在这种情况下,您应该将#注册表表单.required
替换为一个选择器,该选择器可以以另一种方式选择所有必填字段,例如#新usr、#新pwd、#新pwd confirm