2009-10-07 18 views
5

Staram się skupić na wejściu nazwę użytkownika w moim ekranie logowania, aby umożliwić łatwiejszy dostęp do logowania się i obecnie mój jquery wygląda toJquery - Skupić się na polu wejściowym w formularzu na pageload?

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

ale to nie działa ... jakieś pomysły?

+0

Opublikuj tag dla elementu formularza użytkownika. –

+1

jak większość ludzi już powiedziało, że powinno działać, chyba że twoje nazewnictwo tej nazwy użytkownika jest niepoprawne – TStamper

+0

to robi asp.net MVC, sprawdzając element na stronie sprawdza mój ID jest poprawny, kod jest <% = Html.TextBox ("Nazwa użytkownika")%> – Jimmy

Odpowiedz

4

Działa na poniższym prostym przykładzie. Dlatego na Twojej stronie dzieje się coś jeszcze, co powoduje, że dane wejściowe tracą ostrość. Sugeruję użycie setTimeout do ustawienia ostrości.

<!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

nie wiesz, dlaczego nie działa ... nie wiem co się dzieje – Jimmy

5

Czy tag ma atrybut id?

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

Zgaduję, że ma tylko atrybut name:

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

Jeśli nie można dodać atrybut ID, możesz go wybrać tak:

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

Twój HTML wygląda jak < identyfikator wejścia = "Nazwa użytkownika" ... > (Rozróżnianie wielkości liter)?

1

Cóż, tak to robisz. Upewnij się, że identyfikator jest poprawny, tak przypuszczam.

0

Internet Explorer mam pewne problemy z na przykład ten kod:

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

Jak głupio to wygląda, ale to rozwiązało problem dla mnie:

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

lub spróbuj użyć setTimeout

2

Limit czasu prawdopodobnie rozwiąże problem:

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