Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 27-jun-2005, 14:49   #1 (permalink)
eaos ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2005
Mensajes: 26
set focus

hola, saludos a todos los del foro.

quería saber si es posible que al hacer un clic en uno de los items de un dropdownlist (asp.net), pueda poner el foco en un textbox?

además, hay alguna forma de que un imagebutton se "seleccione" al presionar la tecla enter.

gracias.
eaos está desconectado   Responder Citando
Antiguo 27-jun-2005, 15:15   #2 (permalink)
xknown está en el buen camino
 
Avatar de xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.249
Para lo primero puedes hacer lo siguiente (algo sencillo):
DropDownList1.Attributes.Add("onchange", "document.getElementById('TextBox1').focus()")

Si deseas poner el foco a otros TextBox, vas a tener que englobarlo dentro de una función, para mayor facilidad...

Para lo segundo coloca el siguiente script en el html de tu página (talvez tenga errores...)
Código:
<script type="text/javascript">
document.onkeypress = function (evt) {
	evt = evt ? evt : event;
	tecla = (document.all) ? evt.keyCode : evt.which;
			
	if (tecla == 13) {
		document.getElementById("ImageButton1").click(); // ImageButton1 representa el ID del boton
	}
}
</script>
__________________
Alex Concha
Buayacorp - Programación y Diseño
xknown está desconectado   Responder Citando
Antiguo 28-jun-2005, 08:30   #3 (permalink)
jmujica está en el buen camino
 
Fecha de Ingreso: junio-2005
Mensajes: 20
Para el setfocus, utilizo una funcion armada muy similar a la que se menciona antes y es la siguiente:

Public Sub SetFocus(ByVal ctControl As Control, ByRef pPage As Page)
Dim sbScript As New System.Text.StringBuilder
Dim ClientID As String = ctControl.ClientID

sbScript.Append("<script language='javascript'>")
sbScript.Append("window.scrollBy(0,400);")
sbScript.Append("document.getElementById('")
sbScript.Append(ClientID)
sbScript.Append("').focus();")
sbScript.Append("<" & "/script>")
pPage.RegisterStartupScript("Foco", sbScript.ToString())
End Sub
jmujica está desconectado   Responder Citando
Antiguo 28-jun-2005, 08:38   #4 (permalink)
moNTeZIon ha deshabilitado el karma
 
Avatar de moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: CanFenosa Martorelles BCN
Mensajes: 1.286
Enviar un mensaje por Skype™ a moNTeZIon
Y para qué sirve la línea:
sbScript.Append("window.scrollBy(0,400);")
???

Y ésta?
pPage.RegisterStartupScript("Foco", sbScript.ToString())

Podrías explicar de qué forma funciona tu Sub y cómo llamarlo? Que hay que enviarle en el parametro pPage?
__________________
..:: moNTeZIon ::..
moNTeZIon está desconectado   Responder Citando
Antiguo 28-jun-2005, 09:08   #5 (permalink)
Jose_minglein2 tiene algunos puntos positivos de karma
 
Avatar de Jose_minglein2
 
Fecha de Ingreso: noviembre-2004
Mensajes: 2.334
Según lo entiendo yo, la función está dentro de un modulo o clase y es referenciada desde cualquier página, por ejemplo

private sub dropdownlist1_SelectedIndexChanged(byval sender as object,byval e as eventargs) handles dropdownlist1.SelectedIndexChanged
Modulo.SetFocus(textbox1, me)
end sub

pPage.RegisterStartupScript("Foco", sbScript.ToString())

lo que hace es llamar a la función en el cliente desde el servidor, bien sea en un load o en un postback como el ejemplo que he puesto.

sbScript.Append("window.scrollBy(0,400);")

Es una función javascript para situar el scroll,

ya sé que no me has preguntado a mi, pero tengo un modulo para funciones javascript de ese tipo.
Jose_minglein2 está desconectado   Responder Citando
Antiguo 28-jun-2005, 09:12   #6 (permalink)
moNTeZIon ha deshabilitado el karma
 
Avatar de moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: CanFenosa Martorelles BCN
Mensajes: 1.286
Enviar un mensaje por Skype™ a moNTeZIon
Gracias Jose_minglein2.

Esto es un foro no? Puede responder quien lo sepa, a mi modo de verlo. Si alguien discrepa de lo que tu dices ya avisará, y si no, se lo quedará pa él

Pero sigo dudando de la línea del scroll... Eso es necesario para colocar el foco en un control?
__________________
..:: moNTeZIon ::..
moNTeZIon está desconectado   Responder Citando
Antiguo 28-jun-2005, 09:35   #7 (permalink)
jmujica está en el buen camino
 
Fecha de Ingreso: junio-2005
Mensajes: 20
Estoy totalmente de acuerdo con ambos en cuanto a sus respuestas, es un foro y cuanta mas gente responda, mas opiniones se tendrán.

En cuanto a la respuesta que dio Jose Minglein2 estoy de acuerdo, es mas, lo invoco de la misma manera. El scroll sinceramente no recuerdo porqué lo tengo puesto, pero si lo deseas quitaselo. Saludos.
jmujica está desconectado   Responder Citando
Antiguo 28-jun-2005, 09:56   #8 (permalink)
Jose_minglein2 tiene algunos puntos positivos de karma
 
Avatar de Jose_minglein2
 
Fecha de Ingreso: noviembre-2004
Mensajes: 2.334
Lo del scroll como te dije es para situar éste, porque creo que hay algunos navegadores que aunque un elemento tenga el foco no lo ves porque no está dentro del area del cliente inicialmente (aun despues de un postback) en 0,0 (p. ej. que esté abajo del todo), no se si me explico. Yo lo que haría sería indicar éste también como variable, p. ej.


Public Sub SetFocus(ByVal ctControl As Control, ByRef pPage As Page, byval pos as integer)
Dim sbScript As New System.Text.StringBuilder
Dim ClientID As String = ctControl.ClientID

sbScript.Append("<script language='javascript'>")
sbScript.Append("window.scrollBy(0," & pos &";")
sbScript.Append("document.getElementById('")
sbScript.Append(ClientID)
sbScript.Append("').focus();")
sbScript.Append("<" & "/script>")
pPage.RegisterStartupScript("Foco", sbScript.ToString())
End Sub

así puedes llamar a la función y colocar el scroll donde desees.
Jose_minglein2 está desconectado   Responder Citando
Antiguo 28-jun-2005, 10:04   #9 (permalink)
moNTeZIon ha deshabilitado el karma
 
Avatar de moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: CanFenosa Martorelles BCN
Mensajes: 1.286
Enviar un mensaje por Skype™ a moNTeZIon
OK. Ahora si.
__________________
..:: moNTeZIon ::..
moNTeZIon está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:21.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93