jQuery如何通过输入文本字段使Enter(Return)充当Tab键,但最后触发提交按钮

我已经阻止了Enter(返回)键,实际上,它在Tab键中被转换了。 因此,当在输入文本字段内按下时,它将充当Tab键。 这很好,但我需要它在最后一个字段中按下时触发提交按钮,下面是Enter键变异的代码:

$('input').keydown(function(event) { if(event.which == 13) { event.preventDefault(); $(this).nextAll('input:first').focus(); } }); 

表单代码是输入类型=“文本”的序列,最后是一个按钮类型=“提交” [编辑]实际上代码是这一个,取自jquery:在特定部分输入到Tab触发器 。 但我不知道为什么昨天工作不起作用:

 $(':text').keydown(function(e) { if(e.keyCode == 13 && $(this).attr('type') != 'submit') { e.preventDefault(); $(this).nextAll('input:first').focus(); } }); 

如果你给上一个输入最后一个类,那么只需修改你的代码即可

 $('input').keydown(function(event) { if(!$(this).hasClass("last")){ if(event.which == 13) { event.preventDefault(); $(this).nextAll('input:first').focus(); } } }); 
 // Definir o que acontece quando o usuário pressiona ENTER $('input, select, textarea').live('keydown', function(e) { // Para todos os campos do formulário if (e.which == 13) { // Se pressionou ENTER if (e.ctrlKey) { // Se pressionou CTRL $(this).closest('form').submit(); // Envia o formulário } else { // Se não var fields = $(this).closest('form').find('input, select, textarea'); // Criamos uma lista dos campos do formulário var total = fields.length; // Identificamos a quantidade de campos var index = fields.index(this); // Identificamos a posicao do campo atual fields // Da lista de campos, ... .eq( // na posicao ... index + // do campo atual + ... (e.shiftKey // Pressionou a tecla SHIFT? ? // Se pressionou ... (index > 0 // A posição atual é maior que 0 (zero)? ? // Se for maior -1 // campo anterior : // Se não ... 0 // Primeiro campo ) : // Se não ... (index < total // Posicao atual é menor que o total de campos? ? // Se for menor ... +1 // proximo campo : // Se não ... total // Último campo ) ) // Neste momento ja encontramos o campo que deverá ser selecionado ).focus(); // Selecionamos o campo return false; // Impedimos que a ação padrão seja executada (Envio do formulário) } // FIM - se não pressionou CTRL } // FIM - se pressionou ENTER }); // FIM da função 
    Interesting Posts