Foros del Web » Programando para Internet » Javascript »

cambiar foco al presionar tecla enter

Estas en el tema de cambiar foco al presionar tecla enter en el foro de Javascript en Foros del Web. Hola estoy desarrollando una aplicacion en JSF la cual tiene una ventana login que posee dos textbox(usuario y password) y un combobox,aparte de un boton ...
  #1 (permalink)  
Antiguo 04/06/2008, 12:01
Avatar de djagu_26  
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 518
Antigüedad: 16 años, 3 meses
Puntos: 6
cambiar foco al presionar tecla enter

Hola estoy desarrollando una aplicacion en JSF la cual tiene una ventana login que posee dos textbox(usuario y password) y un combobox,aparte de un boton para lguearse, cuando el foco esta en cualquiera de los dos textbox y presionamos enter la accion del boton se ejecuta pero cuando cambias algo del combobox y presionas enter el foco queda en el combobox y ya no se ejecuta la accion del boton, me gustaria saber si mediante javascript se puede crear una funcion que al presionar la tecla enter o ejecute la accion de dicho boton o al menos pase el foco del combobox al boton, el evento lo pondria en el onkeypressed del combobox o en el onkeydown?
saludos y muchas gracias
__________________
"La magia no existe, la programacion si"

A/P Agustin Sivoplas
[email protected]
  #2 (permalink)  
Antiguo 05/06/2008, 09:50
Avatar de djagu_26  
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 518
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: cambiar foco al presionar tecla enter

alguien pude ayudarme? es urgente!!!
__________________
"La magia no existe, la programacion si"

A/P Agustin Sivoplas
[email protected]
  #3 (permalink)  
Antiguo 24/07/2008, 11:15
 
Fecha de Ingreso: mayo-2007
Mensajes: 23
Antigüedad: 17 años
Puntos: 0
Respuesta: cambiar foco al presionar tecla enter

Hola, creo q es algo tarde la respuesta pero hasta hoy retomo mi actividad en ese foro.

Yo utilizo mucho la tecla enter para moverme entre los campos de mis formularios o para ejecutar algún tipo de función.

Lo q hice xa q me funcione es lo siguiente, me conseguí una funcion en Javascript por internet a la cual le hice unos pequeños ajustes y llame Enter

function Enter(Evento, Campo)
{
var keyCode = Evento.keyCode ? Evento.keyCode : Evento.which ? Evento.which : Evento.charCode;
if (keyCode == 13)
{
var i;
for (i = 0; i < Campo.form.elements.length; i++)
if (Campo == Campo.form.elements[i])
break;
i = Campo.form.elements[i].tabIndex + 1;
for( j = 0 ; j < Campo.form.elements.length; j++)
{
if( Campo.form.elements[j].tabIndex == i)
break;
}
Campo.form.elements[j].focus();
return false;
}
else
return true;
}

Con esta función lo primero q se hace es validar el evento xa saber si se presionó la tecla enter, luego se recorren los elementos del formulario xa saber sobre cual estoy posicionado, como puede suceder que el orden de creación de los elementos no sea el mismo que el del tabindex, se recorre nuevamente los elementos xa saber cual tiene el siguiente tabindex y se ubica el foco sobre este.

No se si exista alguna función más simple pero esta solucionó mis problemas del momento y es la q uso actualimente.

Lo q debes hacer es hacer el llamado de la función en el evento onKeypress del campo deseado y tener organizado el tabindex de todos los campos.

Lo otro q puedes haces es modificar el código de la función Enter para que cuando detecte q se presiono enter ejecute el submit o la funcion q desees ejecutar.

Espero haberte podido ayudar en algo, disculpa lo tarde de la respuesta.
  #4 (permalink)  
Antiguo 12/02/2010, 09:44
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: cambiar foco al presionar tecla enter

Hola, una consulta, como se usa la funcion que explicas.

Gracias.
  #5 (permalink)  
Antiguo 12/02/2010, 09:54
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: cambiar foco al presionar tecla enter

Hola dconsolidado

Te recuerdo el aviso que había al final de este tema y que parece que no has leído.



Tema cerrado.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 14:34.