我不是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的数量,并且已正确传递。

最佳答案

您正在比较字符串而不是数字。

使用parseIntparseFloat

if (parseFloat(delvQTY)>parseFloat(orderQTY))


要么

if (parseInt(delvQTY,10)>parseInt(orderQTY,10))

09-18 00:31