Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IF语句工作不正常_Javascript - Fatal编程技术网

Javascript IF语句工作不正常

Javascript IF语句工作不正常,javascript,Javascript,我有以下控制措施: chck1_amt through chck5_amt (1 though 5 check Amounts) And chckX is from chcknum1 through chcknum5 (1 through 5 check numbers 我们试图做的是,如果checkX_amt框不是空的,或者它的值不是0,并且checknumber框(chcknumX)是空的,那么通知用户checknumber框必须包含一个checknumber。在用户输入

我有以下控制措施:

    chck1_amt through chck5_amt (1 though 5 check Amounts)

    And chckX is from chcknum1 through chcknum5 (1 through 5 check numbers
我们试图做的是,如果checkX_amt框不是空的,或者它的值不是0,并且checknumber框(chcknumX)是空的,那么通知用户checknumber框必须包含一个checknumber。在用户输入支票号码之前,请始终关注该框

直到今天,当它不断询问支票号码是否在支票金额框中有值时,这似乎一直有效

代码如下:

if((document.getElementById('chck1_amt').value!=“document.getElementById('chck1_amt').value!=“0”)&&(document.getElementById('fvEmp_chcknum1')。value=”){
警报(“请输入检查以继续”);
document.getElementById('chcknum1').focus();
返回false;
}
if(((document.getElementById('chck2_amt').value!=”)| |(document.getElementById('chck2_amt').value!=“0”)&&(document.getElementById('fvEmp_chcknum2')。value=”){
警报(“请输入检查以继续”);
document.getElementById('chcknum2').focus();
返回false;
}
if((document.getElementById('chck3_amt').value!=“0”)和&(document.getElementById('chcknum3').value==”){
警报(“请输入检查以继续”);
document.getElementById('chcknum3').focus();
返回false;
}
if((document.getElementById('chck4_amt').value!=“0”)和&(document.getElementById('chcknum4').value==”){
警报(“请输入检查以继续”);
document.getElementById('chcknum4').focus();
返回false;
}
if((document.getElementById('chck5_amt').value!=“0”)和&(document.getElementById('chcknum5').value==”){
警报(“请输入检查以继续”);
document.getElementById('chcknum5').focus();
返回false;
}

我可能遗漏了一些内容,但看起来您的逻辑是反向的,因为除了
“0”
之外的任何内容都会提示用户输入支票号码。情况不应该是这样吗

编辑

谢谢你的评论。我现在明白你的问题了。我仍然认为你的逻辑有问题。如果当值不是
0
时提示用户输入,则逻辑如下:

if (document.getElementById('chck5_amt').value.trim() != "0" && document.getElementById('chck5_amt').value.trim() != ""){
    //prompt for check number
}
if (document.getElementById('chck1_amt').value && Number(document.getElementById('chck1_amt').value) && !document.getElementById('chcknum1').value && !Number(document.getElementById('chcknum1').value)) {
  alert('Check 1 has an amount but does not have a valid check number');
  document.getElementById('chcknum1').focus();
  return false;
}
您可能需要添加一些附加检查,以确保找到输入框:

var input = document.getElementById('chck5_amt');

//uncomment the line below to validate that the input was found
//alert(input);

if (input){
    if (input.value.trim() != "0" && input.value.trim() != ""){
        //prompt for check number
    }
}
大概是这样的:

if (document.getElementById('chck5_amt').value.trim() != "0" && document.getElementById('chck5_amt').value.trim() != ""){
    //prompt for check number
}
if (document.getElementById('chck1_amt').value && Number(document.getElementById('chck1_amt').value) && !document.getElementById('chcknum1').value && !Number(document.getElementById('chcknum1').value)) {
  alert('Check 1 has an amount but does not have a valid check number');
  document.getElementById('chcknum1').focus();
  return false;
}

etc

我已经尝试使用Firebug来查看发生了什么?HTML会有所帮助-只是第一个
if
语句。其他语句对于问题的演示来说是超级棒的,我已经用html标记更新了我上面的原始帖子。请。让我知道你是不是这个意思。不,让我用简单的英语试试。也许,我没有很好地解释它。如果“金额”复选框为0或如示例中所示为空,则无需要求用户输入支票号码。但是,如果“支票金额”框不为空且不为0,则要求用户输入支票号码。对不起,给您添麻烦了。我可能已经发现了问题。如果支票金额框为空或0,则无需要求支票号码不为空。James,非常感谢您的回复。它几乎成功了。问题是,根据代码的编写方式(由不在这里的其他人编写),在为第一个框输入值后,其余框将自动填充0。这就是我试图验证空白和0的原因。是的,我错误地假设值“0”是错误的。现在修好了。