2009-10-07 79 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); 
    }); 
相關問題