我有这些控件:
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并且检查编号框(chcknumX)为空,则通知用户检查编号框必须包含支票编号。在用户输入支票数据之前,请专注于该框。
这个出现一直工作到今天,当它一直询问支票编号是否在checkamount框中有值时。
以下是代码:
if ((document.getElementById('chck1_amt').value != "" || document.getElementById('chck1_amt').value != "0") && (document.getElementById('fvEmp_chcknum1').value == "")) {
alert("Please enter check # to continue");
document.getElementById('chcknum1').focus();
return false;
}
if (((document.getElementById('chck2_amt').value != "") || (document.getElementById('chck2_amt').value != "0")) && (document.getElementById('fvEmp_chcknum2').value == "")) {
alert("Please enter check # to continue");
document.getElementById('chcknum2').focus();
return false;
}
if ((document.getElementById('chck3_amt').value != "0") && (document.getElementById('chcknum3').value == "")) {
alert("Please enter check # to continue");
document.getElementById('chcknum3').focus();
return false;
}
if ((document.getElementById('chck4_amt').value != "0") && (document.getElementById('chcknum4').value == "")) {
alert("Please enter check # to continue");
document.getElementById('chcknum4').focus();
return false;
}
if ((document.getElementById('chck5_amt').value != "0") && (document.getElementById('chcknum5').value == "")) {
alert("Please enter check # to continue");
document.getElementById('chcknum5').focus();
return false;
}
<tr>
<td><input name="chcknum1" type="text" id="chcknum1" style="width:90px;" /></td><td><input name="chck1_amt" type="text" id="chck1_amt" style="width:90px;" /></td><td>
</tr><tr>
<td><input name="chcknum2" type="text" id="chcknum2" style="width:90px;" /></td><td><input name="chck2_amt" type="text" id="chck2_amt" style="width:90px;" /></td><td>
</tr><tr>
<td><input name="chcknum3" type="text" id="chcknum3" style="width:90px;" /></td><td><input name="chck3_amt" type="text" id="chck3_amt" style="width:90px;" /></td><td>
</tr><tr>
<td><input name="chcknum4" type="text" id="chcknum4" style="width:90px;" /></td><td><input name="chck4_amt" type="text" id="chck4_amt" style="width:90px;" /></td><td>
</tr><tr>
<td><input name="chcknum5" type="text" id="chcknum5" style="width:90px;" /></td><td><input name="chck5_amt" type="text" id="chck5_amt" style="width:90px;" /></td><td>
</tr>
答案 0 :(得分:2)
我可能会遗漏某些内容,但看起来您的逻辑是倒退的,因为其他而不是""
或"0"
会提示用户输入支票号码。条件不应该是这样的吗?:
修改强>
感谢您的评论。我现在明白你的问题。我仍然认为你的逻辑存在问题。如果在值为""
或0
以外的任何值时应提示用户输入,则逻辑应如下所示:
if (document.getElementById('chck5_amt').value.trim() != "0" && document.getElementById('chck5_amt').value.trim() != ""){
//prompt for check number
}
您可能需要添加一些额外的检查以确保找到输入框:
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
}
}
答案 1 :(得分:0)
这样的事情:
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;
}
等