2009-10-07 33 views
5

我试图把重点放在我的登录界面输入用户名,以便更容易访问登录和目前我的jQuery看起来像这样Jquery - 专注于页面加载的表单中的输入字段?

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

,但不工作...任何想法?

+0

为您的用户名表单项发布标签。 – 2009-10-07 18:51:26

+1

像大多数人已经说过的,应该工作,除非你的用户名标签命名不正确 – TStamper 2009-10-07 18:54:35

+0

这是做asp.net MVC,检查页面中的元素验证我的ID是正确的,代码是<%= Html.TextBox (“用户名”)%> – Jimmy 2009-10-07 19:13:27

回答

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> 
+0

不知道为什么它不工作...不知道发生了什么事 – Jimmy 2009-10-07 18:59:21

5

标签是否具有id属性?

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

我猜它只有一个name属性:

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

如果您不能添加ID属性,你可以选择像这样:

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

你HTML看起来像< input id =“用户名”... >(区分大小写)?

1

那么,那就是你是如何做到的。我想,请确保ID是正确的。

0

Internet Explorer中有一些问题,比如这个代码:

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

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

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

或者尝试使用setTimeout

2

超时可能会诀窍:

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