Обнаружение изменения входного значения Jquery - PullRequest
4 голосов
/ 08 ноября 2011

Как определить, было ли изменено входное значение или нет на событии размытия?

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

Как это сделать?

Ответы [ 5 ]

7 голосов
/ 08 ноября 2011

Подписаться на .change() вместо .blur(). Таким образом, вы будете знать, что значение изменилось.

6 голосов
/ 08 ноября 2011

Вы можете переключиться на событие .change () вместо .blur (), но я считаю, что это в корне неверно по-разному. Я предлагаю использовать Jonathan Azoff's Changed jQuery-плагин (http://www.azoffdesign.com/changed). Это может быть излишним в этом случае, так что ...

Есть много способов сделать это, один из которых - сохранить старое значение в качестве атрибута данных для входа, а затем сравнить значение ввода со старым значением на размытии. Если эти два значения различны, то оно изменилось.

Пример:

    <input type="text" name="firstname" data-old="Jack">

Вы можете сохранить это значение, используя тип вашего внутреннего интерфейса, или даже сделать это при загрузке страницы. Затем на размытие, вы можете иметь событие, которое работает примерно так:

    $('input').blur(function() {
        if ($(this).data('old') != $(this).val())
            // It changed! Do something!
    }

Если старое значение было «Джек», а затем вы изменили имя на «Боб» и запустили событие размытия, он увидел бы, что «Джек» не равен «Бобу», и выполните ваше действие.

Надеюсь, это поможет. Удачи.

4 голосов
/ 08 ноября 2011

Непосредственно из документации jQuery

$("input[type='text']").change( function() {
  // check input ($(this).val()) for validity here
});
3 голосов
/ 08 ноября 2011

Сравните значение и defaultValue

<input onblur="if(this.value!=this.defaultValue){alert('changed');}">
1 голос
/ 08 ноября 2011

Вы можете сохранить значение ввода на фокусе и проверить его значением на вводе на размытие.

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