Artigos & Ideias

Prevenir Envio de Formulário, de Forma Indesejada, ao Pressionar Enter

Escrito por:

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.

1


Sobre o Autor

Carlos Gonçalves é um Freelancer com bastante experiência em linguagens de programação e webdesign. Vocacionado para as novas tecnologias, aposta na qualidade dos serviços, atendimento rápido e sempre disponível para melhor satisfazer os seus clientes. Autor do site cgoncalves.com

Comentários

Comentar

Nota: A moderação de comentários está activada e pode atrasar o teu comentário. Não há necessidade de reenviares o teu comentário.

  1. Carlos Gonçalves  Junho 18, 2010
More in Outros (1 of 12 articles)

# #