Hay usuarios que quieren que un ENTER lo mande a otro campo como un TAB. Lo podemos lograr con Javascript y el framework jQuery. No veo que tiene de malo la tecla tabulador, pues ambas están normalmente en los extremos del teclado. Será por complacer a las mayorías en lugar de los zurdos, y si es un zurdo el único que va a usar el sistema.
El caso es que si usamos jQuery, colocamos este capturador del evento, al presionar alguna tecla:
Código en jQuery para capturar las presiones del teclado
Código :
$(document).ready(function() { /* Aquí podría filtrar que controles necesitará manejar, * en el caso de incluir un dropbox $('input, select'); */ tb = $('input'); if ($.browser.mozilla) { $(tb).keypress(enter2tab); } else { $(tb).keydown(enter2tab); } });
Código jQuery para cambiar el ENTER por un TAB
Esta función hace que un ENTER se comporte como un TAB, esto hará que al dar ENTER el elemento siguiente obtenga el foco.
Código :
function enter2tab(e) { if (e.keyCode == 13) { cb = parseInt($(this).attr('tabindex')); if ($(':input[tabindex=\'' + (cb + 1) + '\']') != null) { $(':input[tabindex=\'' + (cb + 1) + '\']').focus(); $(':input[tabindex=\'' + (cb + 1) + '\']').select(); e.preventDefault(); return false; } } }
Hay otras técnicas, pero mi versión opera utilizando la propiedad tabindex de los elementos HTML, lo cual es lo que necesitaba.
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por skabeche el 07 de Julio de 2010
Es como cuando rellenando un formulario, al completar un campo, el foco se va automáticamente al siguiente campo.
El usuario es el que tiene que tener el control completo.
Salu2.
Por Inyaka el 07 de Julio de 2010
lo de dar focus() en un determinado evento es realmente util, lo he usado en formularios para ingresar el código de una tarjeta, y eso de agregar eventos al pulsar cierta tecla, es algo que aun no se me a dado la oportunidad de usar, pero es muy util para darle un nuevo nivel a la usabilidad de un sistema con atajos de teclado
Por AzrL el 09 de Julio de 2010
Por shakka el 16 de Julio de 2010
Por lcornejo el 31 de Julio de 2010
Frente a los requerimientos del cliente, muchas veces no tenemos forma de explicarle que algo no se puede hacer. Y lo mejor es buscar una solucion.
Lo tipico de una aplicacion es que al presionar enter me pase al siguiente campo.
Es comodo verdad?
Entonces solo hay que aplicarlo.
Por EL Rafa el 03 de Abril de 2011
if (e.keyCode == 13) {
if ( siguienteCampo == 'fin' ) {
return true;
}else{
eval('document.' + 'frm' + '.' + siguienteCampo + '.focus()')
return false;
}
}
}
document.onkeydown = saltar;
para de esa forma esta muy bien
Por joa el 19 de Mayo de 2011
Por Daniel Carrero el 15 de Julio de 2011
blog.kode.cl/2010/09/detectar-tecla-enter-en-jquery-para-pasar-al-siguiente-campo-del-formulario/
Saludos
Por loco asp el 01 de Febrero de 2012
Por Mario el 30 de Marzo de 2012
Pero como lo utilizo? En el onclick.. o como?
Apreciaria me comenten..
Saludos...
Por Edgar Villalba Ramir el 13 de Noviembre de 2013
<script>
$('input,button,select').bind('keypress', function(event) {
if(event.which === 13) {
var obj = $(this).next();
while ( obj.attr('type') === 'hidden' ){
obj = (obj).next();
}
obj.focus();
}
});
</script>
Por $("#nombre&qu el 05 de Marzo de 2014
selectFirst:true,
source : "ajax.php",
autoFocus : true,
change : function(ev, ui){
$('#apellido').val(ui.item.apellidos);
$('#numero').val(ui.item.numero);
}
});
Por francisco el 06 de Mayo de 2015
Por Marcelo el 24 de Junio de 2015
Por Misido el 20 de Agosto de 2015
esa es la razón.
Por Xavier el 03 de Marzo de 2016
Por David el 29 de Junio de 2016
Cada cual tiene sus motivos, saludos!
Por rluna el 14 de Noviembre de 2016