jQuery .keyPress () - Как получить значение входа, который инициировал событие?

Попытка сделать некоторую проверку jQuery (без плагина - никакие ответы как "Просто не используют проверить-js плагин").

Я обеспечиваю электричеством клиентское нажатие клавиши обработчика событий для каждого "обязательного поля" на готовом документе:

$(document).ready(function() {
  $('#myform input.required').each(function() {
    $(this).keypress(onRequiredFieldKeyPress);
  });
});

Который правильно запускает это событие в каждое нажатие клавиши:

function onRequiredFieldKeyPress() {
   if ($(this).val().trim() == '') {
      $(this).next('em').html('*').show(); // show req field indicator
   } else {
      $(this).next('em').html('*').hide(); // hide req field indicator
   }
}

Но $ (этот) .val () является всегда пустым/пустым. Похож это является передающим в "HTMLInputElement", который является тем, что я ожидал бы, но это почти похоже, я должен спроектировать это в некоторый другой тип jQuery?

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

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

Я пропускаю что-то?

5
задан RPM1984 9 August 2010 в 06:57
поделиться