Foros del Web » Programando para Internet » ASPX (.net) »

FOCO en TextBox

Estas en el tema de FOCO en TextBox en el foro de ASPX (.net) en Foros del Web. Hola a todos, revise varias páginas en donde entregaban la "solución", para otorgar el foco a un TextBox. Pero ninguna solución me funciono. Ójala me ...
  #1 (permalink)  
Antiguo 12/01/2009, 17:10
 
Fecha de Ingreso: febrero-2006
Ubicación: Puerto Montt
Mensajes: 76
Antigüedad: 18 años, 2 meses
Puntos: 0
FOCO en TextBox

Hola a todos,
revise varias páginas en donde entregaban la "solución", para otorgar el foco a un TextBox. Pero ninguna solución me funciono. Ójala me puedan ayudar.

Datos:

- Selecciono un valor de un ComboBox (SelectedIndexChanged)
- Luego el foco debe establecerse en el textbox.
- Utilizo VB.NET 2005

Saludos..
  #2 (permalink)  
Antiguo 12/01/2009, 17:45
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: FOCO en TextBox

hola, debes poner atencion en una propiedad del combobox llamada "autopostback" si esta esta en "true" entonces puedes tener acceso a los eventos del combo por ejemplo el selectedIndex_changed, es ahi donde le pones Control.focus

espero ayude ;)
  #3 (permalink)  
Antiguo 12/01/2009, 20:44
 
Fecha de Ingreso: febrero-2006
Ubicación: Puerto Montt
Mensajes: 76
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: FOCO en TextBox

Sí claro, probe con eso.. Localmente otorga el foco, pero cuando me conecto desde la PDT no funciona.

Funciona solo en el servidor y no el cliente ??

Saludos
  #4 (permalink)  
Antiguo 12/01/2009, 20:55
 
Fecha de Ingreso: febrero-2006
Ubicación: Puerto Montt
Mensajes: 76
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: FOCO en TextBox

Otra cosa, quizás el browser de la PDT vale hongo.. jajaja, voy a probar con eso..

Saludos
  #5 (permalink)  
Antiguo 12/01/2009, 21:05
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: FOCO en TextBox

mmm...
pues esta raro, aunque nunca he usado el navegador del PDT, los eventos como mencionas se ejecutan del lado del servidor, por eso es independiente del navegador / dispositivo...

yo tuve un problema similar cuando estaba realizando un proyecto para las Blackberry... resulto ser un detalle con la directiva de la pagina, con agregarle
MaintainScrollPositionOnPostback = "true" se soluciono, pero de nuevo, era un detalle solo con las blackberry, los demas dispositivos, incluso los iPhone funcionaban OK.

quizas si compartieras la porcion del codigo que no esta respetando te pudiera ayudar un poco mas...

(a tambien cabe mencionar que el problema solo paso en la version que manejaba masterpages, teniamos una version sin masterpages y funcionaba OK)
  #6 (permalink)  
Antiguo 13/01/2009, 07:01
 
Fecha de Ingreso: febrero-2006
Ubicación: Puerto Montt
Mensajes: 76
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: FOCO en TextBox

Realice la prueba con una página que no utiliza MasterPage y sucede lo mismo.. No funciona.

Referente al código sólo utilizo el evento "cb_SelectedIndexChanged", en donde entrego el foco al control Ej: "control.Focus()"

Incluso en el HTML coloque: <form id="form1" runat="server" defaultfocus = "Control"> y nada..
  #7 (permalink)  
Antiguo 13/01/2009, 13:20
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: FOCO en TextBox

hola, acabo de realizar una prueba tanto en un sitio asp.net ajax enables y un sitio asp.net normalito, en ambos casos la rutina fue igual, te paso el codigo html asi como el de vb.net para que veas el procedimiento, cualquier duda me avisas...

Codigo Html:
<div>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack ="true">
<asp:ListItem Text="Opcion 1" Value="0"></asp:ListItem>
<asp:ListItem Text="Opcion 2" Value="1"></asp:ListItem>
<asp:ListItem Text="Opcion 3" Value="2"></asp:ListItem>
</asp:DropDownList>
<hr />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</div>

Codigo vb.Net
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
If DropDownList1.SelectedValue = "1" Then
Me.TextBox1.Focus()
Else
Me.TextBox2.Focus()
End If
End Sub
  #8 (permalink)  
Antiguo 15/01/2009, 10:10
 
Fecha de Ingreso: febrero-2006
Ubicación: Puerto Montt
Mensajes: 76
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: FOCO en TextBox

Hola, solucione el problema y me habia olvidado de comentarlo :)

Realice un método con una función javascript y coloque el nombre del control que se publica en el código fuente de la página.

aquí el método:

Public Sub SetFocusControl(ByVal ControlName As String)
Dim script As String = _
"<script language=" + Chr(34) + "javascript" + Chr(34) _
+ ">" + _
" var control = document.getElementById(" + Chr(34) + _
ControlName + Chr(34) + ");" + _
" if( control != null ){control.focus();}" + _
"</script>"

Page.RegisterStartupScript("Focus", script)

End Sub

Por ejemplo el nombre que se genero en la página fue "_ctl0_ContentPlaceHolder1_txtBins", por lo tanto cuando se llama al método se realiza de la siguiente forma:

SetFocusControl("_ctl0_ContentPlaceHolder1_txtBox" )

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:31.