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.


Muito FracoFracoRazoávelBomMuito Bom (Nenhum voto por enquanto)
Loading ... Loading ...