我不知道我的剧本会发生什么,我可以指出我的错误在哪里。 1到9所有条件工作正常,但当你把10-12不工作
<form method="post" enctype="multipart/form-data" action="#">
<input type="hidden" value="2" id="itemstock" name="itemstock">
<input value="1" name="quantity" id="quantity" class="text">
<button type="submit" onClick="return checkoption();" >Click </button>
</form>
的Javascript
function checkoption()
{
var itemqty = document.getElementById('quantity');
var iss = document.getElementById('itemstock');
if(itemqty.value > iss.value)
{
alert('We have Currently '+iss.value+' In Stock');
}
else
{
alert('add to cart');
}
}
提前谢谢
屏幕短看看我输了13但是没有显示错误
答案 0 :(得分:5)
使用带字符串的<
或>
运算符会按字母顺序比较值,这可能不是您想要的。
您需要将这些数字作为数字进行比较,而不是字符串。 JavaScript允许您使用+
轻松将字符串转换为数字,如下所示:
var qty = +itemqty.value;
var isv = +iss.value;
if(qty > isv)
{
// ...
}
但是,如果要在代码中添加更多错误检查,还可以使用parseInt(如果值无效,将返回NaN)。
答案 1 :(得分:0)
.value
等文本字段的input
属性是字符串,而不是数字。因此,您按字典顺序比较字符串。通过parseInt(str, 10)
或+str
将其更改为数字。