Javascript 检查多个值并显示错误
我经常需要检查多个类似的字段,首先查看其中是否有问题,然后查看哪些字段包含无效数据。有没有比我这里的更好的方法 我对编程理论和javascript都感兴趣Javascript 检查多个值并显示错误,javascript,jquery,performance,Javascript,Jquery,Performance,我经常需要检查多个类似的字段,首先查看其中是否有问题,然后查看哪些字段包含无效数据。有没有比我这里的更好的方法 我对编程理论和javascript都感兴趣 if(($("#movie1").val() == "")||($("#movie2").val() == "")) { if($("#movie1").val() == "") { $("#movie1error").show(); } if($("#movie2").val() == "") {
if(($("#movie1").val() == "")||($("#movie2").val() == "")) {
if($("#movie1").val() == "") {
$("#movie1error").show();
}
if($("#movie2").val() == "") {
$("#movie2error").show();
}
}
else {
//success
}
if(($("#movie1").val() == "")||($("#movie2").val() == "")) {
if($("#movie1").val() == "") {
$("#movie1error").show();
}
if($("#movie2").val() == "") {
$("#movie2error").show();
}
}
else {
//success
}
您需要使用
|
而不是&&
。您还需要使用val()
而不是value()
您需要使用
|
而不是&&
。您还需要使用val()
而不是value()
jquery在对象上没有方法
value()
,将其更改为val()
。我认为您的算法是正确的,并使用或和运算符的intead来连接条件
jquery在对象上没有方法value()
,将其更改为val()
。我认为您的算法是正确的,并使用或和运算符的intead来连接条件
我总是这样用:
function fieldsOk(){
switch(true){
case ($("#txt1").val() == ""):
return false;
case ($("#pass1").val() != $("#pass2")):
return false;
}
return true;
}
if(fieldsOk()){
// code here
}else{
// show error
}
我总是这样用:
function fieldsOk(){
switch(true){
case ($("#txt1").val() == ""):
return false;
case ($("#pass1").val() != $("#pass2")):
return false;
}
return true;
}
if(fieldsOk()){
// code here
}else{
// show error
}
首先,空字符串的处理方式与if语句中的false
相同。您也可以简单地放置一个NOT,而不是针对空字符串进行测试代码>在它前面
此外,如果两者都是错误,则不需要周围的测试,如果其中一个是错误,则还需要进行测试。因此,如果要显示具有空字符串作为值的电影的错误,可以执行以下操作:
if (!$('#movie1').val()) $('movie1error').show();
else if (!$('#movie2').val()) $('movie2error').show();
else {
//success
}
注意:我没有在代码周围放置{}
来显示错误,因为当您获得空字符串时,这只是一件事,所以在本例中不需要这些。如果您想在得到一个空字符串时开始做更多的工作,那么应该在代码中添加这些内容
如果要仅在两部电影都是空字符串时显示这两个错误,可以将其更改为:
if (!$('#movie1').val() && !$('#movie2').val()) {
$('movie1error').show();
$('movie2error').show();
} else {
//success
}
首先,空字符串的处理方式与if语句中的false
相同。您也可以简单地放置一个NOT,而不是针对空字符串进行测试代码>在它前面
此外,如果两者都是错误,则不需要周围的测试,如果其中一个是错误,则还需要进行测试。因此,如果要显示具有空字符串作为值的电影的错误,可以执行以下操作:
if (!$('#movie1').val()) $('movie1error').show();
else if (!$('#movie2').val()) $('movie2error').show();
else {
//success
}
注意:我没有在代码周围放置{}
来显示错误,因为当您获得空字符串时,这只是一件事,所以在本例中不需要这些。如果您想在得到一个空字符串时开始做更多的工作,那么应该在代码中添加这些内容
如果要仅在两部电影都是空字符串时显示这两个错误,可以将其更改为:
if (!$('#movie1').val() && !$('#movie2').val()) {
$('movie1error').show();
$('movie2error').show();
} else {
//success
}
如果任务相似,则可以使用类
选择器,而不是使用ID检查。向要检查的字段添加公共类。说类名是myCheck
然后使用jQuery可以执行以下操作
$('.myCheck').each(function(index,value){
if(!$(this).val()){
$('#'+$(this).attr('id')+'error').show();
}
});
还可以为error元素指定一个公共类
演示如果任务类似,则可以使用类
选择器,而不是使用ID进行检查。向要检查的字段添加公共类。说类名是myCheck
然后使用jQuery可以执行以下操作
$('.myCheck').each(function(index,value){
if(!$(this).val()){
$('#'+$(this).attr('id')+'error').show();
}
});
还可以为error元素指定一个公共类
演示“显示错误”?那又怎样?“显示错误”?那又怎样?@Satpal哦,是的,我刚刚从问题中复制了代码。修正了。你发布的第一个代码块只会显示一个错误;只有当两者都错了时,第二种情况才会出现。我想告诉用户是否有一个或两个错误。@Satpal哦,是的,我刚刚从问题中复制了代码。修正了。你发布的第一个代码块只会显示一个错误;只有当两者都错了时,第二种情况才会出现。我想告诉用户一个或两个是否包含错误。