проверить ввод пользователя при нажатии клавиши на текстовом поле JQuery - PullRequest
3 голосов
/ 01 апреля 2011

Как кодировать в jQuery, чтобы пользователь не мог нажать точку "." введите текстовое поле?

Я могу закодировать его в javascript следующим образом: при каждом нажатии клавиши браузер проверяет, нажата ли клавиша, является ли она точкой, а затем подстрокой (0, len-1), но она мигает! я хочу полностью заблокировать нажатие клавиши!

Ответы [ 3 ]

5 голосов
/ 01 апреля 2011

Это должно работать.Он не был протестирован в разных браузерах:

$("#theTextBox").keyup(function() {
    if($(this).val().indexOf('.') !== -1) {
        var newVal = $(this).val().replace('.', '');
        $(this).val(newVal);
    }
});

Вы можете попробовать это здесь.

РЕДАКТИРОВАТЬ: Я думаю, что это лучше:

function doItPlease() {
    if ($(this).val().indexOf('.') !== -1) {
        var newVal = $(this).val().replace('.', '');
        $(this).val(newVal);
    }
}

$("#theTextBox").bind("keydown keyup", doItPlease);

Попробуйте здесь менее удачное решение.

РЕДАКТИРОВАТЬ (снова): я предпочитаю вышеупомянутое решение, потому что мне очень нравитсяаспект обратной связи.Тем не менее, я думаю, что это то, что вы ищете:

$("#theTextBox").keyup(function(e) {
    if (e.which != 190) {
        return true;
    }
    e.preventDefault();
});

Попробуйте здесь.

3 голосов
/ 01 апреля 2011

Посмотрите на этот плагин, чтобы запретить ввод определенных символов: http://www.itgroup.com.ph/alphanumeric/

Также посмотрите на плагин валидации для общей проверки: http://bassistance.de/jquery-plugins/jquery-plugin-validation/

1 голос
/ 01 апреля 2011

Используйте отличный плагин для проверки формы http://bassistance.de/jquery-plugins/jquery-plugin-validation/.

Все, что вам нужно сделать для проверки, это выдать параметры в виде имени класса:

HTML

<input id="test" type="text" class="required email"/>

Добавление required и email как класс подтвердит его как обязательный ввод, который должен быть электронным письмом.Проверка выполняется по мере ввода.

jQuery

$('#test').validate()

Самое замечательное в этом плагине - вы можете получить доступ к файлу js напрямую из Microsoft CDN, поэтому вам не нужно загружатьэто с вашего сервера.http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8/jquery.validate.js

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