Javascript比较不起作用

时间:2014-03-06 11:26:19

标签: javascript compare alert

我在javascript中有条件如下

function check()
{
    var amount = document.getElementById('pamount').value;
    var quantity = document.getElementById('qty').value;
    var pmin = document.getElementById('pmin').value;
    var pmax = document.getElementById('pmax').value;
    var stock = document.getElementById('stocks').value;

    if (amount > pmax) {
        alert('Price should not be more than maximum price');
        return false;
    }
    if (amount < pmin) {
        alert('Price should not be less than minimum price');
        return false;
    }
    if (quantity > stock) {
        alert('Please enter quantity no more than maximum');
        return false;
    }
    if (quantity < 1) {
        alert('Please enter valid quantity');
        return false;
    }
}

这是html字段

<input type="text" value=""  data-toggle="tooltip" data-placement="top" class="form-control small qty_box" id="qty" name="qty">
<input style="width:90px; float:left" type="text" value="" class="form-control small" id="pmin" name="min">
<input style="width:90px; float:left" type="text" class="form-control small" id="pmax" name="max">

但它总是返回假。当我输入较少的金额值时,它会发出相同的警报。我试过提醒量和pmax。它获得了实际价值。但这种比较有问题 我的金额为75,pmax为100。

3 个答案:

答案 0 :(得分:1)

根据您需要比较数字,使用parseFloat()或parseInt()。下面的代码使用了parseFloat()。

    var amount = parseFloat(document.getElementById('pamount').value);
    var quantity = parseFloat(document.getElementById('qty').value));
    var pmin = parseFloat(parseFloat(document.getElementById('pmin').value);
    var pmax = parseFloat(document.getElementById('pmax').value);
    var stock = parseFloat(document.getElementById('stocks').value);

答案 1 :(得分:1)

您的代码没有问题。检查您的浏览器是否已禁用javascript。这将是问题。

答案 2 :(得分:0)

从{}

删除该返回false

if (amount > pmax) { alert('Price should not be more than maximum price'); } else //rest of the code