текстовое поле с предупреждением и автообновлением, если длина равна 4 - PullRequest
1 голос
/ 05 марта 2012

У меня есть один text box, и я ввожу данные для этого text box, и я хочу сделать следующее: если я введу 4 characters и наберу skip that text box by pressing TAB key, то одно предупреждение придет как "data should be more than 4 characters", а затем текстовое поле будет auto refreshed. Если введенные данные содержат более 4 символов, предупреждение не поступит, я пытался с помощью события onkeyup, но в некоторых случаях я ошибался. Любая помощь, пожалуйста

Ответы [ 3 ]

2 голосов
/ 05 марта 2012

Я не знаю, что вы подразумеваете под "тогда текстовое поле будет автоматически обновлено", поэтому я собираюсь догадаться, что вы хотите вернуть курсор обратно в это поле.Для проверки длины значения при выводе табуляции вы хотите событие .change() или .blur():

$("input[type=text]").change(function() {
    if (this.value.length <= 4) {
        alert("Please enter more than 4 characters.");
        this.focus();
        return false;
    }
});

Демо: http://jsfiddle.net/XHKRh/

Будет запущено событие размытиякаждый раз, когда фокус покидает поле;событие изменения не будет инициировано снова, если пользователь сразу же снова покинет поле, не меняя его.Я предпочитаю использовать изменения в сочетании с дополнительной проверкой при отправке формы, чтобы пользователь не продолжал получать уведомления (хотя на самом деле я бы вообще не показывал предупреждение, я бы поместил сообщение на следующей странице).в поле).

1 голос
/ 05 марта 2012

Как насчет blur?

var el = $('#textbox').blur(function(e) {
    if (el.val().length > 4) {
        return;
    }

    el.focus();
    alert('data should be more than 4 characters');
});

Обратите внимание, что этот метод делает работу с пользователем неэффективной. Отображение сообщения, встроенного в ваш элемент, предпочтительнее, чем предотвращение взаимодействия пользователя с чем-либо еще.

0 голосов
/ 05 марта 2012

Есть несколько моментов, которые могут вас заинтересовать:

  • Вы не должны полагаться ТОЛЬКО на JavaScript для проверки форм, так как пользователи могут включить его выключить и обойти проверку
  • Существует свойство maxlength для входных данных
  • Вы, вероятно, ищете onblur вместо получения действия клавиши TAB, поскольку пользователи можно изменить фокусировку другими способами
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...