简单的javascript逻辑运算符验证对我不起作用。
例如。目标价格不应高于原始价格
x = input from user;
y = 1000; // fixed
if(x > 1000 )
{
alert ( x+'should not be greater than'+y);
}
else
{
alert ( ' proceed' );
}
这是我的EXAMPLE
答案 0 :(得分:0)
这些值的类型为string
,您需要将它们转换为number
。您可以使用Number()
。
targetPrice = Number($('#pdiwap_dropamt').val());
orginalPrice = Number($('#orgprice_wap').val());
答案 1 :(得分:0)
因为两个操作数字符串都是字符串比较。
您可以将值转换为数字,然后进行比较,如
targetPrice = +$('#pdiwap_dropamt').val();
orginalPrice = +$('#orgprice_wap').val();
答案 2 :(得分:0)
你正在编写两个字符串。使用类似这样的东西
if (parseInt(targetPrice) > parseInt(orginalPrice))
答案 3 :(得分:0)
只需使用parseInt
功能即可正确验证。因为html输入以字符串格式给出值。
if (parseInt(targetPrice,10) > parseInt(orginalPrice,10))
答案 4 :(得分:0)
我认为问题来自你所获得的输入,这被视为一个字符串。在比较之前尝试先转换为整数。
例如x = parseInt(来自用户的输入);
答案 5 :(得分:0)
是的!它的输入值是一个字符串,因此无法正确验证。
试试这个。
var x = document.getElementById("input").value;
var y = 1000;
if(!isNaN(x) && x < 1000) {
alert ('proceed' );
} else {
alert(x+'should not be greater than'+y);
}