Ciao a tutti, sto utilizzando Ajax e non riesco a portare il focus su un controllo dopo un asyncpostback.
Qualcuno sa indicarmi come fare? NomeControllo.focus() non funziona
Ciao a tutti, sto utilizzando Ajax e non riesco a portare il focus su un controllo dopo un asyncpostback.
Qualcuno sa indicarmi come fare? NomeControllo.focus() non funziona
...NO ONE IS INNOCENT ANYMORE...
:master: Se il controllo è dentro l'UpdatePanel, funziona. L'ho provato con IE, Opera e firefox
altrimenti penso che basti qualcosa del genere:
System.Web.UI.ScriptManager.RegisterClientScriptBl ock(******
Pietro
mmm è dentro l'updatepanel ma non mi funziona ...
nell'html h questo :
e nel codebehind :codice:<asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate > <div id="divTit" > <asp:Label id="lblTitoloDiv" runat="server" CssClass= "divTitoloPopUp"></asp:Label> </div> <div class="divBottoniPopUp"> <asp:Button id="btnNuovo" height="20px" onclick="btnNuovo_Click" runat="server" Text="Nuovo"></asp:Button> <asp:Button id="btnModifica" height="20px" onclick="btnModifica_Click" runat="server" Text="Modifica"></asp:Button> <asp:Button id="btnElimina" height="20px" onclick="btnElimina_Click" runat="server" Text="Elimina"></asp:Button> <asp:Button id="btnEsci" height="20px" runat="server" Text="Esci" ></asp:Button> </div> <div class="divCerca"> <asp:TextBox id="txtRicerca" runat="server" OnTextChanged="OnTextChanged" AutoPostBack="true" /> </div>
codice:protected void OnTextChanged(object sender, EventArgs e) { LoadGrid(txtRicerca.Text); txtRicerca.Focus(); }
...NO ONE IS INNOCENT ANYMORE...
così non va neanche a me :master:
ci penso![]()
Pietro
guarda questo
questo mi funziona con IE, Opera e firefox.codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Untitled Page</title> <script language="javascript" type="text/javascript"> // <!CDATA[ function Text1_onchange() { var b = document.getElementById("Text1"); b.value = "xxxxxxxxx"; setTimeout(function(){self.focus();b.focus(); },1); } // ]]> </script> </head> <body> <input id="Text1" type="text" onchange="return Text1_onchange()" /> </body> </html>
invece questo:
funziona sempre, ma con IE il cursore si posiziona all'inizio e non alla fine, come invece firefox e opera.codice:Protected Sub txtRicerca_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtRicerca.TextChanged Dim b As TextBox = DirectCast(sender, TextBox) b.Text = "xxxxxxxxxxxxx" System.Web.UI.ScriptManager.RegisterClientScriptBlock(Page, Me.GetType(), Page.ClientID, String.Format("setTimeout(function(){{var b=$get('{0}');self.focus();b.focus(); }},1);", b.ClientID), True) End Sub
:master:
![]()
Pietro
provo a fare seguendo il tuo esempio e poi ti dico, grazie mille per adesso![]()
...NO ONE IS INNOCENT ANYMORE...
funzionz perfettamente!grazie mille!
...NO ONE IS INNOCENT ANYMORE...