2011-12-22 121 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