Tappar focus för en webbkontroll i en ASP.NET Ajax updatepanel

Ett problem då man gör dynamiska formulär i ASP.NET Ajax är att man tappar ”focus” för den kontroll (textbox, dropdown etc.) som genererar postbacken. Med det menar jag att formulärets tabbningen resettas och den som fyller i formuläret får börja tabba från början.

Om man då har ett gränssnitt där tabbning mellan fälten är viktigt för helhetsupplevelsen såm måste man ”sätta tillbaka focus” på den kontroll som orsakat postbacken. Detta gör man enklast med följande oneliner i den metod där du hanterar postbacken:

ScriptManager.GetCurrent(this.Page).SetFocus(controlName);

controlName är det ID som du använder för din textbox, dropdown eller vad det kan vara….

Efter att ha mixtrat med diverse javascript som använder metoderna focus(), och select() i några timmar så var ovan nämnda lösning den enklaste.

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.