JQuery последний сосредоточенный элемент - PullRequest
6 голосов
/ 16 января 2011

У меня есть базовая форма входа, которая использует 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 Ответ

7 голосов
/ 16 января 2011

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

$('.input').focusout(function () {
   $('#myform').data('lastSelected', $(this));
});
...