Javascript中if语句中的大于和小于
我需要帮助。使用大于和小于验证消息不起作用。 对于某些药物,我有3乘以3的条件,我想验证一下。三倍多,三倍丽都,三倍凯恩 每当我运行整个代码时,验证消息都不会被替换。因此,“更多”的第一条验证消息仍然存在,但只有“过高和过低”消息,然后是Lido和凯恩错误消息。 当使用大于和小于时,我尝试用“Test”消息替换这些消息,但没有效果。有人能帮忙吗?我试图用真消息替换假验证消息,或者至少继续下一个假验证消息,但我不想全部显示它们Javascript中if语句中的大于和小于,javascript,validation,if-statement,return,Javascript,Validation,If Statement,Return,我需要帮助。使用大于和小于验证消息不起作用。 对于某些药物,我有3乘以3的条件,我想验证一下。三倍多,三倍丽都,三倍凯恩 每当我运行整个代码时,验证消息都不会被替换。因此,“更多”的第一条验证消息仍然存在,但只有“过高和过低”消息,然后是Lido和凯恩错误消息。 当使用大于和小于时,我尝试用“Test”消息替换这些消息,但没有效果。有人能帮忙吗?我试图用真消息替换假验证消息,或者至少继续下一个假验证消息,但我不想全部显示它们 if (more > 0.4) { error.i
if (more > 0.4) {
error.innerHTML = "More is too high<br>Press 'Clear All' and start again"
moreDose.value = ""
return false;
}
if (more < 0.2) {
error.innerHTML = "More is too low<br>Press 'Clear All' and start again"
moreDose.value = ""
return false;
}
if (more > 0.2 && more < 0.4) {
error.innerHTML = "Test"
return true;
}
if (lido > 3) {
error2.innerHTML = "Lido is too high<br>Press 'Clear All' and start again"
lidoDose.value = ""
return false;
}
if (lido < 0.6) {
error2.innerHTML = "Lido is too low<br>Press 'Clear All' and start again"
lidoDose.value = ""
return false;
}
if (lido < 0.6 && lido > 3) {
error2.innerHTML = "Test 2"
return true;
}
if (kane > 1.2) {
error3.innerHTML = "Kane is too high<br>Press 'Clear All' and start again"
ketaDose.value = ""
return false;
}
if (kane < 0.12) {
error3.innerHTML = "Kane is too low<br>Press 'Clear All' and start again"
ketaDose.value = ""
return false;
}
if (kane < 0.12 && kane> 1.2) {
error3.innerHTML = "Test 3"
return true;
}
if(更多>0.4){
error.innerHTML=“更多信息太高
按“全部清除”,然后重新开始”
moreDose.value=“”
返回false;
}
如果(更多<0.2){
error.innerHTML=“更多值过低
按“全部清除”并重新开始”
moreDose.value=“”
返回false;
}
如果(更多>0.2&&更多<0.4){
error.innerHTML=“测试”
返回true;
}
如果(丽都湾>3){
error2.innerHTML=“Lido过高
按“全部清除”并重新开始”
lidoDose.value=“”
返回false;
}
如果(利多卡因<0.6){
error2.innerHTML=“Lido过低
按“全部清除”并重新开始”
lidoDose.value=“”
返回false;
}
如果(利多卡因<0.6&&利多卡因>3){
error2.innerHTML=“测试2”
返回true;
}
如果(凯恩>1.2){
error3.innerHTML=“凯恩过高
按“全部清除”,然后重新开始”
ketaDose.value=“”
返回false;
}
如果(凯恩<0.12){
error3.innerHTML=“凯恩过低
按“全部清除”并重新开始”
ketaDose.value=“”
返回false;
}
如果(凯恩<0.12&&凯恩>1.2){
error3.innerHTML=“测试3”
返回true;
}
您不应该在每个if
块中返回,因为当任何早期测试成功时,它将永远不会执行最后一个测试
在拆卸中,使用if/else if/else
检查互斥条件。这也将解决您忽略输入正好等于范围边界之一的情况的问题
var moreDose=document.getElementById(“更多”);
var lidoDose=document.getElementById(“lido”);
var ketaDose=document.getElementById(“凯恩”);
var error=document.getElementById(“错误”);
var error2=document.getElementById(“error2”);
var error3=document.getElementById(“error3”);
功能验证(更多、丽都、凯恩){
如果(更多>0.4){
error.innerHTML=“更多信息太高
按“全部清除”,然后重新开始”
moreDose.value=“”
}否则如果(大于0.2){
error.innerHTML=“更多值过低
按“全部清除”并重新开始”
moreDose.value=“”
}否则{
error.innerHTML=“测试”
}
如果(丽都湾>3){
error2.innerHTML=“Lido过高
按“全部清除”并重新开始”
lidoDose.value=“”
}否则,如果(利多卡因<0.6){
error2.innerHTML=“Lido过低
按“全部清除”并重新开始”
lidoDose.value=“”
}否则{
error2.innerHTML=“测试2”
}
如果(凯恩>1.2){
error3.innerHTML=“凯恩过高
按“全部清除”,然后重新开始”
ketaDose.value=“”
}否则如果(凯恩<0.12){
error3.innerHTML=“凯恩过低
按“全部清除”并重新开始”
ketaDose.value=“”
}否则{
error3.innerHTML=“测试3”
}
}
document.getElementById(“验证”).addEventListener(“单击”,函数)(){
验证(解析浮点值(moreDose.value),
parseFloat(lidoDose.value),
parseFloat(ketaDose.value));
});代码>
更多:
丽都:
凯恩:
首先,所有的&&
条件在逻辑上都是不可能的。你有没有把这些符号倒过来?谢谢你指出这一点,但即使像我刚才那样纠正了,我也有同样的问题。有一个有效的结果需要什么条件?我们可以从这里开始。如果(more>0.2&&more<0.4){error.innerHTML=“Test”return true;}和如果(lido>0.6&&lido<3){error2.innerHTML=“Test 2”return true;}和如果(kane>0.12&&kane<1.2){error3.innerHTML=“Test 3”return true;},下面是正确的结果但我需要先检查一下其他条件。问题是,即使给出了正确的输入,错误消息也会被打印出来。如果more
恰好是0.2
或0.4
,则无法处理这种情况。您只检查大于和小于,但不检查=
。感谢您的慷慨帮助。明天我需要处理你的代码,因为它内置在另一个函数中,我遇到了一些小问题。