2014-03-06 114 views
1

我有一個像下面的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"> 

但它總是返回false在JavaScript的條件。當我輸入較少的金額時,它會發出警報。我嘗試了警報量和pmax。它獲得實際價值。可是,我錯這個比較 我給量爲75和p最大爲100

+0

請顯示完整的代碼。 – ram

+0

@ user3280126但我嘗試了警報值。它僅顯示實際值 –

+0

您獲得了哪些警報? 'quantity','stock'和'pmin'怎麼樣? – alalp

回答

0

刪除根據自己的需要返回false從{}

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

+1

這不是一個解決方案。它不工作的傢伙:( –

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); 
+0

它不起作用 –

+0

創建一個jsfiddle –

1

代碼沒有問題。檢查您的瀏覽器是否禁用JavaScript。這將是問題。