Como emular "tecla enter" pressionada em campo texto?
27/06/2015 18:59
0
Prezados membros,

Estou utilizando um form de pesquisa em minhas listas. 

Quando saio de um campo preenchido sem pressionar a tecla  enter, este campo não é passado no argumento params quando submeto o form para o controller. Isto só ocorre se pressionar enter sobre o campo.

Como posso provocar o comportamento de pressionar enter no evento onfocusout do campo? Obviamente neste caso, pressionar enter não poderia submeter o form.

Se tiverem uma estratégia melhor que esta que visualizo, gostaria de conhecer pois sou um aprendiz.

Obrigado,

Pedro Gentil
Tags: from; submite; tecla enter; onfocusout; emular enter;


0
Pedro algo está errado, pois ao pressionar enter, todos os campos preenchidos deveriam ir para o params.
29/06/2015 08:29


1
Ta ... isso é mais um problema de jquery do que Grails. 

Mas tente usar o g:formRemote ao inves de g:form para ver se consegue algo. 

Quanto a sua pergunta veja se isso resolve: 

$( "SeuCampo" ).focusout(function() {
$( "#IdDoSeuForm" ).submit();
  });


0
Olá amigos obrigado pelas respostas.

Evandro, isto ajuda sim. Na verdade eu estava utilizando um campo "<g:link ..." para representar o campo - neste caso realmente não consigo emular o acionamento da tecla enter. Mas vi que podia substituir a representação por "<g:textField... ", e então ao sair do foco o grails inclui automaticamente o campo no params. 

Pedro Henrique,

Sim o que você escreveu é verdade, mas no meu caso eu precisava que isto ocorresse quando o botão de submite fosse acionado via mouse... e não via tecla enter... mas como vc pode ver acima, já está resolvido.

Mais uma vez, obrigado!
29/06/2015 09:59


1
É!
O grails vai considerar "params" tudo que for "entrada".
o g:link nada mais é que um LINK ( eu sei..é óbvio! mas é isso mesmo) e ai o GSP te da a opção também de usar isso para chamar alguma ACTION  passando parâmetros
exemplo do site do grails:
<g:link action="list" params="[sort: 'title', order: 'asc',author: currentBook.author]">


Como funciona :

tudo que tiver dentro da tag  <g:form > </g:form> vai ser passado como parms, sendo que o atributo "name" será a key. Exemplo:
<g:textField name="nome" id="xyz" />

então você terá  no params -> ${params.nome}

Não sei se expliquei bem... mas se não entender tento fazer algo mais elaborado.
Mas resumindo , sempre que quer que algo vara paro o  ${params} tem que colocar no form e tem que ser um input : texfield, select, textarea, radio... sacou ?
Flw , Vlw , Va lá!



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto