Спасибо, где я размещаю это, когда я получаю ошибку: $ (". Input"). Focusout не является функцией

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

Можно ли установить фокус на последнее текстовое поле, в котором пользователь находился до нажатия кнопки «Отправить» или «Ввод»?

$('#login').click(function (e) 
 { 
  e.preventDefault();
  $.ajax({
  type: "POST",
  dataType: "text",
  url: "login.php",
  data: "username=" + $("#username").val() + "&password=" + $("#password").val(),
  cache: false,
  success: function(reply)
  {
   if (reply.indexOf("Success") >= 0)
   {
    location.reload();
   }
   else
   {
    $("#loginResult").html("Login Failed");
    //set focus here       
   }
  }
 }); 

Любые предложения, спасибо.

Ответы на вопрос(1)

Решение Вопроса

Подпишитесь на все ваши входы на событие focusout

$('.input').focusout(function () {
   $('#myform').data('lastSelected', $(this));
});
 Vadim16 янв. 2011 г., 20:28
@davin, спасибо за предложение, просто изменил мой ответ.
 davin16 янв. 2011 г., 20:25
@Gaby, если у вас несколько форм и вы используете глобальную переменную, вы в конечном итоге будете фокусировать элементы внеправильно формировать!
 davin16 янв. 2011 г., 20:20
личный вкус: я бы прикрепил $ (this) к форме, как, например, $ ('# myForm'). data ('lastSelected', $ (this)). он чувствует себя менее загрязняющим, что глобальные переменные
 Elliott17 янв. 2011 г., 01:21
Спасибо, где я размещаю это, когда я получаю ошибку: $ (". Input"). Focusout не является функцией
 Gabriele Petrioli16 янв. 2011 г., 20:22
@ davin, если у вас есть несколько форм на странице, вам нужно будет также сохранить ссылку на форму ..

Ваш ответ на вопрос