我不是javascript专家,所以希望有人能帮助我。
我有以下代码,但出于某种原因它总是认为该陈述是正确的
delvNum=document.getElementById("deliveryNum").value;
delvQTY=document.getElementById("delvQTY"+id).value;
orderQTY=document.getElementById("orderQTY"+id).value;
if (delvQTY>orderQTY)
{
alert("Can't deliver more than " + orderQTY + ", you are trying to deliver " + delvQTY + ". Please fix!");
document.getElementById("delvQTY"+id).focus();
return;
}
错误消息确实显示了每个 var 的数量,并且正在正确传递。
最佳答案
你比较的是字符串而不是数字。
if (parseFloat(delvQTY)>parseFloat(orderQTY))
或
if (parseInt(delvQTY,10)>parseInt(orderQTY,10))
关于比 if 语句大的 javascript 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15839300/