Hola,
Hay alguna forma de darle el focus a un control de servidor <asp:textbox> ?
He probado con nombreDelTextBox.Focus() pero me dice que éste método no existe.
Gracias.
| ||||
Eso lo tienes que hacer del lado del cliente...(javascript) Ejemplo: Cita: Donde TextBox1 corresponde al id del textbox que deseas que tenga el focus. <body onload="document.getElementById ('TextBox1').focus ();"> ![]() Saludos ![]()
__________________ Nadie roba nada ya que en la vida todo se paga . . . Exentrit - Soluciones SharePoint & Net |
| |||
Gracias RootK por tu respuesta. El problema en el momento que me interesa hacer el focus es provocado por un click en un linkbutton runat=server. He probado incluir en el codigo del click un response.write con lo siguiente: Response.Write("<script language=javascript>document.all[\"TBCerca\"].focus()</script>"); Pero esto me coloca el código javascript al inicio de la página. ¿Se os ocurre alguna manera de hacerlo? Gracias. |
| |||
Hola sindestino, gracias también a ti por contestar. He probado el codigo que has dicho pero no acaba de funcionar. Lo que hace el linkbutton es mostrar un div que esta escondido cambiandole el estilo. Esto funciona bien. Luego intento el LBCerca.Attributes.Add("onclick","javascript:docum ent.all[\"TBCerca\"].focus();"); I parece que lo hace, pero es como si se recargara la página y entonces volviera a perder el foco. Ya iré probando con otras cosas que se me ocurran pero de momento no tengo solución para mi problema. Gracias. |
| ||||
ah, entiendo. Para que no haga postback dejá la instrucción así LBCerca.Attributes.Add("onclick","javascript:docum ent.all[\"TBCerca\"].focus();return false;"); eso elimina el postback (el código que pueda llegar a ejecutar el link del lado del servidor. Si nos das más información de lo que querés hacer tal vez podamos decirte algo más acertado. Saludos |
| ||||
Otra fora es utilizar el método RegisterStartupScript, carga lo siguiente en tu linkbutton y obtendrás el foco en el control deseado. Ejemplo... Cita: Saludos y espero que ahora si te funcione Private Sub LinkButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton1.Click 'todo tu código..... .... Dim strScript As String strScript = "<script>" strScript &= "document.getElementById('TextBox2').focus();" strScript &= "</script>" Page.RegisterStartupScript ("ClientScript", strScript) End Sub ![]() ![]() |
| |||
Chicos al final lo hice como dijo rootk pero asignando el script a una funcion C#, no a la Page, ya que no me interesaba que se lanzara el focus a la hora de cargar la página sino cuando se lanzara la función. Gracias a los dos, da gusto encontrar gente como vosotros. |