2016-08-18 60 views
0

我有4个条件;前三个需要优先显示错误,第四个如果前三个都是错误的。我无法让它工作。我怎样才能结合本声明中的前三个条件?JavaScript:如果其他语句遇到多个条件时出错

if ((requireK3Action.length) || (requireAction.length) || (InvalidK3Action.length)){ 

     if(InvalidK3Action.length){ 
      alert("Invalid condition 1");  
     } 
     e.preventDefault(); 
     return false; 

     if (requireK3Action.length){ 
      alert("Invalid condition 2");  
     } 
     e.preventDefault(); 
     return false; 

     if(requireAction.length){ 
      alert("Invalid condition 3");  
     } 
     e.preventDefault(); 
     return false; 


     // all first 3 conditions satisfy 
    } else if(!hasValidbehavior && noAction.length) { 
     alert(" checking condition 4 ") 
     e.preventDefault(); 
     return false; 
    } 
+4

您可能要回顾一下把语句放在'{}'里面。 – Pointy

+2

那些返回语句不在'if'条件之外。 – Mike

+1

这应该为您提供一个* statement statement *的快速教程,您正在使用的是错误的,并且是您得到不一致结果的原因。 http://www.w3schools.com/js/js_if_else.asp – wchoward

回答

0

尝试从第一块卸下return false;完成之前或添加return成三个if语句。

if ((requireK3Action.length) || (requireAction.length) || (InvalidK3Action.length)){ 

     if(InvalidK3Action.length){ 
      alert("Invalid condition 1");  
     } 

     if (requireK3Action.length){ 
      alert("Invalid condition 2");  
     } 

     if(requireAction.length){ 
      alert("Invalid condition 3");  
     }  

     e.preventDefault(); 
     return false; 

}  // all first 3 conditions satisfy 
else if(!hasValidbehavior && noAction.length) { 

    alert(" checking condition 4 "); 
    e.preventDefault(); 
    return false; 
} 
0

我不是你想达到什么明确的,但试试这个:

if (InvalidK3Action.length) { 
    alert("Invalid condition 1"); 
    e.preventDefault(); 
    return false; 
} else if (requireK3Action.length) { 
    alert("Invalid condition 2"); 
    e.preventDefault(); 
    return false; 
} else if (requireAction.length) { 
    alert("Invalid condition 3"); 
    e.preventDefault(); 
    return false; 
} else { 
    alert(" checking condition 4 "); 
    //You can do the check here 
    if (!hasValidbehavior && noAction.length) { 
     e.preventDefault(); 
     return false; 
    } 
} 

你可能不需要第一行:

if ((requireK3Action.length) || (requireAction.length) || (InvalidK3Action.length))