Поле ввода номера, запрещающее пользователям вводить номер вручную - PullRequest
2 голосов
/ 22 декабря 2011

У меня есть поле ввода номера для установки срока действия события.т. е. пользователь может создать событие, срок действия которого истекает через X дней;х выбирается с помощью числа в поле ввода.

Я установил в поле ввода номера минимальное значение 1 и максимальное значение 7, но пользователь все равно может вручную ввести любой номер, который он хочет (например, 0 или> 8).

Я пытаюсь найти способ запретить пользователю вручную вводить числа в поле без необходимости что-либо делать с JQuery и т. Д.

Кто-нибудь знает, возможно ли это?

Приложение, над которым я работаю, находится в Rails, но я думаю, что это больше вопрос HTML / Javascript.

Большое спасибо заранее.

Ответы [ 2 ]

2 голосов
/ 22 декабря 2011

Это не позволит кому-либо вручную ввести номер:

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

Пример: http://jsfiddle.net/CWadc/10

0 голосов
/ 22 декабря 2011

Вы можете ограничить допустимые числа, как это (для 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...