JQuery - Как ограничить входные значения для текстового поля - PullRequest
1 голос
/ 24 февраля 2011

Я хочу ограничить ввод в TextBox либо Y, либо N (в любом случае). Как это можно сделать в jQuery.

Ответы [ 2 ]

5 голосов
/ 24 февраля 2011

Я почти уверен, что если keydown возвращает false, то ввод не разрешен.Вы можете сделать это, взяв код ключа из объекта события.Это не мешает делать такие вещи, как копирование / вставка значения в текстовое поле.Так что лучшим вариантом будет выбор или переключатель, если вы хотите ограничить ввод пользователя.

$("#some-selector").bind("keydown", function (e) {
  return e.keyCode == 89 || e.keyCode == 78
});
0 голосов
/ 24 февраля 2011

Как вы сказали, это не заботится о случае копирования / вставки, лучшей альтернативой было бы присоединить обработчик события изменения и затем проверить, является ли разрешенный символ иначе, признаком ошибки

$("some-selector").change( function () {
    var textBoxVal=$(this).val();
    if(textBoxVal!=='y' || textBoxVal!=='n')
        alert("Error");                   
});

Примечание. Оповещения, например, добавьте другой стиль в текстовое поле или, тем не менее, исправьте ошибку на странице.

...