Foros del Web » Programando para Internet » Javascript » Frameworks JS »

En un Form no enviar información al oprimir Enter, cambiar de campo

Estas en el tema de En un Form no enviar información al oprimir Enter, cambiar de campo en el foro de Frameworks JS en Foros del Web. Tengo un Form, y el usuario está acostumbrado a teclear información del campo 1 y oprimir Enter para cambiar al campo 2. Cuando se oprime ...
  #1 (permalink)  
Antiguo 23/04/2010, 21:20
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 11 meses
Puntos: 21
En un Form no enviar información al oprimir Enter, cambiar de campo

Tengo un Form, y el usuario está acostumbrado a teclear información del campo 1 y oprimir Enter para cambiar al campo 2.

Cuando se oprime Enter, se envía el Form.

¿Puedo cambiar al campo siguiente con Jquery?

Gracias
  #2 (permalink)  
Antiguo 24/04/2010, 03:58
 
Fecha de Ingreso: abril-2010
Mensajes: 5
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: En un Form no enviar información al oprimir Enter, cambiar de campo

Muy buenas, es interesante lo que quieres hacer, bueno mira si con esto te sirve
Código:
$.fn.focusNextInputField = function(){
    return this.each(function(){
        var fields = $(this).parents('form:eq(0),body').find('input,textarea,select');
        var index = fields.index(this);
        if(index > -1 && (index + 1) < fields.length){
            fields.eq(index + 1).focus();
        }
        return false;
    });
};

function enter(e){
	if(e.type === 'keydown'){
		if(e.keyCode === 13 || e.keyCode === 10){
			$(this).focusNextInputField();
		}
	}
}
$(document).ready(function(){ 
	$('form input').keydown(enter).keyup(enter);
});
ese es el código, no hay misterio alguno, lo pones y funciona en todos los formularios sin hacer ninguna modificación, fíjate en .find('input,textarea,select') , puedes agregar mas campos como por ejemplo button ect.

Un saludo.

Etiquetas: enter, enviar, formulario, campos
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 18:13.