2013-04-24 54 views
-2

我使用此功能工作來驗證一個輸入元素:如果不javascript函數

function validerInput(qte, qtemax) { 
    var floatRegex = /^((\d+(\.\d *)?)|((\d*\.)?\d+))$/; 
    if (floatRegex.test(qte.value)) { 
     var a = qte.value; 
     var b = qtemax; 
     if (a > b) { 
      alert('if qtemax : ' + qtemax + ', qte : ' + qte.value); 
      qte.value = ''; 
     } 
     else { 
      alert('else qtemax : ' + qtemax + ', qte : ' + qte.value); 
     } 
    } 
    else { 
     qte.value = ''; 
    } 
} 

但問題始終是啓動的其他警報和第一從來沒有我不知道的問題

你有什麼想法:

時啓動的警報包含例如234和5.66

回答

8

的我的value財產輸入元素存儲爲一個字符串,所以如果你想把它作爲一個數字,你需要將它轉換爲一個。你可能也有類似的問題,也可能是qtemax,這是不可能的。按字母順序比較字符串「234」出現在「5.66」之前,然後通過數字來比較(更多)。使用parseFloat功能:

var a = parseFloat(qte.value), 
    b = parseFloat(qtemax);