2011-12-22 120 views
2

我有一個數字輸入字段用於設置事件到期。即用戶可以創建在X天內過期的事件; x是使用投入領域的數字來選擇的。數字輸入字段,禁止用戶手動輸入號碼

我已經設置了數字輸入字段,其最小值爲1,最大值爲7,但用戶仍然可以手動鍵入他們想要的任何數字(即0或> 8)。

我試圖找出一種方法來禁用從手動輸入號碼進入該領域的用戶,而無需做任何事情的JQuery等

有誰知道這是可能的嗎?

我正在使用的應用程序在Rails中,但我認爲這是一個HTML/Javascript問題。

非常感謝。

回答

2

這將防止有人手動輸入號碼:

$('input').keypress(function(event){ 
    event.preventDefault(); 
}); 

例子:http://jsfiddle.net/CWadc/10

+0

這是那種簡單的解決辦法的我愛你。非常感謝 – 2011-12-22 05:39:30

+0

我的榮幸@StevenMichaelThomas! – 2011-12-22 13:41:16

0

您可以限制有效的數字是這樣的(jQuery的1.7.x);

$('#id_of_your_input').on('keydown', function(e) { 
    if(e.keyCode != 46 && // delete 
     e.keyCode != 8 && // backspace 
     (e.keyCode < 49 || e.keyCode > 55) && //numbers above keyboard 
     (e.keyCode < 97 || e.keyCode > 103) // numeric keyboard numbers 
    ) { 
     e.preventDefault(); 
    } 
}); 

jsFiddle example