JQuery: как проверить входной текст с атрибутом входного значения? - PullRequest
0 голосов
/ 04 ноября 2011

В следующем случае: страница отображается со следующим…

<input class="textInput error" id="accountMailaddress" name="user[email]" size="30" type="text" value="some@mailaddress.com">

Итак, я вижу, что вход с "some@mailaddress.com" уже заполнен. Если пользователь изменяет текст внутри него, атрибут значения ввода не изменяется в моем dom-инспекторе. Поэтому я предполагаю, что можно проверить текст, который пользователь только что набрал, по сравнению с исходным значением (в атрибуте value).

Как я могу это сделать?

Заранее спасибо.

подробнее ...

например. Я регистрирую $('.textInput').val(); при каждом нажатии клавиши, val (); всегда содержит текущий текст, который вводит пользователь. Должен ли я просто сохранить исходное значение в переменной?

Ответы [ 4 ]

2 голосов
/ 04 ноября 2011
$('#accountMailaddress').val() == $('#accountMailaddress')[0].defaultValue

также, значение по умолчанию совместимо с различными браузерами

0 голосов
/ 04 ноября 2011

Я думаю, что использование метода attr jquery будет работать без необходимости сохранять значение по умолчанию.Как то так:

if ($('.textInput').val() == $('.textInput').attr('value'){
   // Email address matched
}
0 голосов
/ 04 ноября 2011

хорошо, вы можете сделать seomthign следующим образом

var previousValue ;
$('.textInput').focus(function () {
previousValue = $(this).val();
})
.change(function () {
if(previousValue==$(this).val())
  //then do something
});

, но вышеизложенное - когда пользователь изменяет его только один раз, чтобы сделать его понятным

$('.textInput').focus(function () {
if($(this).data("key")!==undefined)
    $(this).data("key")= $(this).val();
})
.change(function () {
if($(this).data("key")==$(this).val())
  //then do something
});

Мне очень нравится свойство defaultValue..

0 голосов
/ 04 ноября 2011

Вы имели в виду что-то вроде этого:

   var defaultText = $('.textInput').val();

   if($('.textInput').val() == defaultText){
      // Email address matched
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...