Jquery - 在页面加载时关注表单中的输入字段?

时间:2009-10-07 18:49:29

标签: jquery

我正在尝试关注登录屏幕中的用户名输入,以便更轻松地登录,目前我的jquery看起来像这样

$(document).ready(function() {
    $('#Username').focus();
});

但这不起作用......任何想法?

6 个答案:

答案 0 :(得分:5)

标签是否具有id属性?

<input id="Username" name="Username" type="text" />

我猜它只有一个名字属性:

<input name="Username" type="text" />

如果您无法添加ID属性,可以这样选择:

$("input[name='Username']").focus();

答案 1 :(得分:4)

它在以下简单示例中起作用。因此,页面上还有其他内容会导致输入失去焦点。我建议使用setTimeout来设置焦点。

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>test!</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
    </script>
    <script type="text/javascript">
      $(document).ready(function() {
    $('#Username').focus();
});
    </script>

  </head>

  <body>
  <input id="Username" />
  </body>
</html>

答案 2 :(得分:2)

超时可能会解决问题:

   $(document).ready(function() {
        setTimeout(function(){
            $("input[name='inputname']").focus();
        }, 200);
    });

答案 3 :(得分:1)

嗯,你就是这样做的。我猜想确保ID正确无误。

答案 4 :(得分:0)

您的HTML看起来像&lt; input id =“Username”...&gt; (区分大小写)?

答案 5 :(得分:0)

Internet Explorer遇到了一些问题,例如此代码:

$(document).ready(function(){
        //focus on search field
        $("#userSearchField").focus();
});

它看起来多么愚蠢,但这解决了我的问题:

$(document).ready(function(){
    //focus on search field
    $("#userSearchField").focus();
    $("#userSearchField").focus();
});

或尝试使用setTimeout