如果用户名有价值,请关注密码字段


Focus On Password Field If Username Has Value

我的请求很简单,我有一个登录表单。我们在登录表单上有一个"保存用户名"选项。当页面加载时,如果用户名输入字段有值(他们已经保存了他们的用户名),我想自动聚焦于密码输入而不是用户名输入。

下面是我目前没有工作的jQuery:

    $(document).ready(function() {
            if($('#username').val() != ''){
                $('#p').focus();
            }
    });

当前没有任何事情发生,没有控制台错误,#username输入保持聚焦或突出显示。

关于如何关注输入字段,以便用户可以开始自动输入,有什么想法吗?

将其移出$(document).ready(),使用:

$(window).load(function() {
    if($('#username').val() != ''){
        $('#p').focus();
    }
});

问题解决了。谢谢你指出时间问题。

我需要将脚本包装在"set timeout"函数中。下面是最终的工作脚本:

  $(document).ready(function() {
      if($('#username').val() != ''){
         setTimeout(function () {
            $('#p').focus();
          }, 50);
      }
  });
  1. 需要指定用户是否保存了用户名。
  2. 然后你必须看到保存的用户名。
  3. 然后关注密码字段

这是你的代码

var saveduser="piyush"; //get username from saved fields
    $(window).ready(function(){
        if(saveduser!="")
        {
            $("#user").val(saveduser);
            $("#pass").focus();
        }
    });

这是我创建的小提琴
http://jsfiddle.net/piyushkmr/86XxN/1/

您可以使用javascript cookie或php设置变量saveduser为用户名