Utilizar ENTER para SUBMIT do FORM de APLICATIVO FORMULÁRIO ÚNICO REGISTRO

Olá pessoal!

Estava chateado dias atrás porque o SC não tinha este funcionalidade de submeter o FORM quando o usuário tecla ENTER.

Tinha um Aplicativo de Formulário Único Registro de apenas um campo, uma descrição simples e não queria que o usuário clicasse em INCLUIR ou SALVAR.

Sabemos como é importante a usabilidade dos usuários, ainda mais usuários acostumados com teclados.

Muito bem! O que temos no SC é apenas a funcionalidade de ENTER para TABULAR, o que não me servia. Até acho estranha esta funcionalidade.

Pesquisando aqui e acolá… fórum inglês do SC, alguns blogs PHP, outras soluções aqui do fórum… testa, muda, adapta e finalmente, acredito que achei uma solução que para mim está parecendo simples.

Estou utilizando como uma boa prática (acredito eu) uma biblioteca interna com todas as minhas principais funções que vou utilizar repetidamente em minhas aplicações. Aquelas funções coringas para não ficar copiando e colando código e quando precisa alterar nem lembra onde copiou e colou.

Então, nesta biblioteca interna eu criei mais uma função, conforme abaixo:

function SubmitAppFormUnicoEnter(){
	echo "<script type='text/javascript'>
	document.addEventListener('keydown', function (event) {
	if (event.keyCode !== 13) return;";
	if (sc_btn_new) {
    	echo "nm_atualiza ('incluir');";
	} else {
    	echo "nm_atualiza ('alterar');";
	}; 
	echo "});
	</script>";
}

No evento onload do meu Aplicativo Formulário Único Registro eu simplesmente chamo esta função com o código:

SubmitAppFormUnicoEnter();

Atenção!
Lembrando que frisei bem durante todo este tópico: solução aplicada apenas em Aplicativo Formulário Único Registro.

Boa sorte, sabedoria e energia!

Abraço

Pessoal,

Tive que desabilitar esta função, pois começou a aparecer uma mensagem output Ajax EM BRANCO tipo a que configuramos nas configurações da aplicação.

Fiz de tudo para tentar achar o erro e a minha constatação é que qualquer código inserido Javascript via código diferente do padrão da aplicação gerada vai entrar em conflito, acredito que por eu usar uma função PHP que dá ECHO de um Javascript ele se perde e entende como uma saída e por isto aparece o output Ajax em branco.

O problema é que não consigo fazer esta função no Javascript da aplicação porque não consigo saber se estou em modo de registro NOVO ou EDIÇÃO. E também seria muito trabalhoso configurar APP por APP sem utilizar a biblioteca interna.

Seguimos então sem o ENTER para SUBMIT dos formulários.

Lamento ainda não termos uma alternativa para isto e fico no aguardo se alguém tem alguma solução para isto.

Em APLICAÇÃO - CONFIGURAÇÂO, desabilite a opção EXIBIR OUTPUT AJAX. Veja se resolve

Oi Kleyber, resolve sim. Mas fiquei cabreiro de deixar habilitada esta funcionalidade por conflito com os padrões SC. E agora?

Não precisa ficar cabreiro. Pode desabilitar sem sustos.

Solução top!
Parabéns!

Obrigado Kleyber.

Acredito que realmente não tem problema.

Vou habilitar novamente. É muito útil.

Habilitei e novamente o SC acaba se perdendo.
Por questões de assegurar a integridade de execução dos eventos padrões da aplicação não irei utilizar.
Quando ele chama a primeira vez a função nm_atualiza ele entende que já inseriu e o SC executa um select count(*) por algum motivo e algumas vezes causa erro.
Torço para que a NM implemente esta melhoria de fazer submit com ENTER.

Amigos,

Lendo esse post, eu lembrei da configuração do Form:

App Form-> Configurações -> Formatação e comportamento -> Use a tecla Enter para:

Atualmente só tem tabular, a NM poderia adicionar uma opção chamada Submeter.

O que acham da ideia?

Boa Cássio!

Inclusive se reparar os forms da IDE do Scriptcase o enter faz submit.

Aguardamos…