Foros del Web » Programando para Internet » Javascript »

Funcion Navegación

Estas en el tema de Funcion Navegación en el foro de Javascript en Foros del Web. Hola amigos buenas tardes quisiera saber si alguien ha desarrollado o tiene conocimiento de como realizar una función que me remplaze lo hecho por la ...
  #1 (permalink)  
Antiguo 28/09/2009, 10:28
 
Fecha de Ingreso: febrero-2008
Mensajes: 133
Antigüedad: 16 años, 3 meses
Puntos: 0
Exclamación Funcion Navegación

Hola amigos buenas tardes quisiera saber si alguien ha desarrollado o tiene conocimiento de como realizar una función que me remplaze lo hecho por la tecla <tab> y shift+<tab> por las teclas "derecha" e "izquierda", en pocas palabras tengo un formulario con muchos campos y me gustaria que al presionar la tecla derecha e izquierda el focus() del campo se mueva hacia adelante o hacia atrás respectivamente, agradecido de antemano
  #2 (permalink)  
Antiguo 28/09/2009, 11:30
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: Funcion Navegación

Yo lo he hecho con jquery para recorrer una tabla con inputs. Te comento la logica:

1. Agregas un evento onkeydown al formulario.
2. Cuando captures este evento debes de discriminar las teclas que requieres (investiga el codigo numerico de ellas).
3. Tener un objeto DOM con las referencias de los campos del formulario por los que quieres navegar.
4. Dependiendo de la tecla presionada, navegas en el objeto para atras o adelante, asignandole la propiedad focus al elemento correspondiente.

Te recomiendo que utilices algun framework para hacer mas facil estos pasos.

Te pongo mi script, NOTA: la tecla con keyCode 9 es el tab

Código javascript:
Ver original
  1. //mi codigo con jquery
  2.  
  3. $('table.dTable tbody tr td input').live('keydown', function(e){
  4.         row = $(this).parents('tr');
  5.         table = row.parents('table')
  6.         rowContent = row.find('td.label').text();
  7.         baseName = $(this).attr('name');
  8.         if(e.shiftKey == 1 && e.keyCode == 9) {
  9.             prev = $(this).parents('form').prev('input');
  10.             rowPrev = row.prev('tr.dynamicRow');
  11.             rowPrev.find('td input').focus();
  12.             return false;
  13.         }
  14.         if(e.keyCode == 9) {
  15.             row.next('tr').find('td input').focus();
  16.            
  17.         }
  18.         return e.keyCode
  19.     });
__________________
I see dead pixels
  #3 (permalink)  
Antiguo 28/09/2009, 13:06
 
Fecha de Ingreso: febrero-2008
Mensajes: 133
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Funcion Navegación

muchas gracias dejame intentar a ver si me sale, aviso
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 09:28.