号码输入字段,禁止用户手动输入号码

时间:2011-12-22 01:43:11

标签: jquery ruby-on-rails-3 html5 input

我有一个数字输入字段,用于设置事件的到期日期。即,用户可以创建在X天内到期的事件;使用put字段中的数字选择x。

我已将数字输入字段设置为最小值为1且最大值为7,但用户仍然可以手动输入他们想要的任何数字(即0或> 8)。

我试图找出一种方法来禁止用户手动输入数字到字段中,而无需对JQuery等做任何事情。

有人知道这是否可行?

我正在开发的应用程序是在Rails中,但我认为这更像是一个HTML / Javascript问题。

提前多多感谢。

2 个答案:

答案 0 :(得分:2)

这可以防止有人手动输入数字:

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

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

答案 1 :(得分: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