2011-01-10 8 views
23

Hey Ich bin sehr neu zu jquery mit asp.net, und ich fragte mich, wie man den Fokus auf ein Textfeld mit jquery setzen.jquery wie man Eingabefokus auf Steuerelement

Ich habe mein Skript in meinem HeaderContent, aber es funktioniert nicht, kein Fokus auf Laden. Und ja, ich weiß, dass dies auch auf der Serverseite gemacht werden kann, aber ich versuche nur, besser und vertrauter mit jQuery zu werden. Vielen Dank.

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#MainContent_LoginUser_UserName").focus(); 
    }); 
</script> 

Antwort

16

Ihr Code ist korrekt. Wenn es fehlschlägt, sind die Chancen $("#MainContent_LoginUser_UserName") ist nicht der richtige Selektorwert oder möglicherweise jQuery wird nicht korrekt geladen.

Wenn Sie jQuery neben ASP.NET-Standard-JavaScript verwenden, wird das $ nicht jQuery, sondern dem JavaScript-Framework von ASP.NET zugeordnet. Möglicherweise müssen Sie $("#foo") für jQuery("#foo") ersetzen.

+0

Wie setzt man jquery zum Laden? Da dies der ClientID-Steuerelementname ist, kann dies nicht das Problem sein. – user516883

+0

@ user516883 Haben Sie auf Ihrer Seite einen Verweis auf die jQuery-Skriptdatei hinzugefügt? –

6

Wenn das Textfeld MainContent_LoginUser_UserName ein serverseitiges Steuerelement ist, funktioniert es nicht, da die ID des Steuerelements aufgrund der eindeutigen ID asp.net, die den Server-Site-Controllern zugeordnet ist, unterschiedlich ist.

Versuchen Sie, diese Zeile zu ändern:

$("[id$=MainContent_LoginUser_UserName]").focus(); 

und prüfen, ob es funktioniert!

Verwandte Themen