Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   textbox.Focus() ? (http://www.forosdelweb.com/f29/textbox-focus-184437/)

keither 23/02/2004 03:30

textbox.Focus() ?
 
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.

RootK 23/02/2004 12:07

Eso lo tienes que hacer del lado del cliente...(javascript)

Ejemplo:

Cita:

<body onload="document.getElementById ('TextBox1').focus ();">
Donde TextBox1 corresponde al id del textbox que deseas que tenga el focus. ;-)

Saludos :cool:

keither 24/02/2004 02:24

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.

sindestino 24/02/2004 05:45

tenés que programar el evento onclick del link del lado del cliente.
Por ejemplo: podés poner lo siguiente en el Page_Load de tu página


myLink.Attributes.Add("onclick","JavaScript:docume nt.all[\"TBCerca\"].focus();")

probalo y comentanos, suerte

keither 24/02/2004 06:29

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.

sindestino 24/02/2004 09:38

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

RootK 24/02/2004 09:42

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:

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
Saludos y espero que ahora si te funcione ;-) :arriba:

keither 24/02/2004 10:05

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.


La zona horaria es GMT -6. Ahora son las 07:11.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.