2012-01-26 46 views
0

我有一個輸入類型是這樣的:給輸入型最大極限

<input name="adult-count" type="text" data-perunit="2500" data-maxunits="5" class="up-down-spinner" value="0"> 

隨着數據最大單位。我用javascript設置了輸入的最大值。輸入類型是一個微調,你可以用箭頭向下和向上。 如果你超過最大單位去。你不能再點擊。但是你仍然可以輸入更大的數字。

我該怎麼做。您輸入要輸入的數字的輸入。限於數據最大值單位。

謝謝!

+0

你爲什麼不使用[ ''](http://www.w3.org/TR/html5/number-state.html#number-state)? – Quentin

+0

它必須在alle瀏覽器上工作。另外ie7 –

+0

爲什麼不是以''開頭,並將JavaScript分層放在不支持它的瀏覽器之上? – Quentin

回答

1

可以綁定一個事件的onChange,以檢查值大於數據最大單位,如果是改回數據最大單位,像這樣:

document.getElementById('adult-count').addEventListener('change', function(e){ 
    var input = e.target; 
    var maxunits = parseInt(input.getAttribute('data-maxunits'), 10); 
    if(parseInt(input.value, 10) > maxunits) 
     input.value = maxunits; 
}, 1); 
+0

哦,如果是IE7也,addEventListener將無法正常工作,您將不得不使用attachEvent('onChange',function())回退 –

+0

這不起作用。它當然不適用於Chrome瀏覽器和新瀏覽器 –

+0

,因爲您的輸入沒有將attribtue id設置爲'adult-count'。嘗試添加id =「adult-count」 –