Um cliente pediu-me para corrigir uma situação num formulário onde tudo funcionava muito bem, de acordo com as especificações, mas os utilizadores por engano carregavam no Enter antes do formulário estar preenchido. O meu trabalho era fazer com que ao carregarem na tecla Enter que o cursor fosse para o próximo campo a preencher do formulário. Esta foi a solução que implementei com recurso a JavaScript.
O JavaScript
var entrada = $$('input.hijack');
$each(inputs,function(el,i) {
el.addEvent('keypress',function(e) {
if(e.key == 'enter') {
e.stop();
if(entrada[i+1]) { entrada[i+1].focus(); }
//verificar se é a ultima
if(i == entrada.length-1) { $('submit-button').focus(); }
}
});
});
Quando o utilizador carrega em Enter o cursor simplesmente passa para o próximo campo de entrada de dados.
Embora não recomende este procedimento para todos os formulários, pois está adaptado às necessidades deste cliente.





