Executar uma pesquisa ao sair de um campo
26/03/2010 00:00
0
Pessoal,
Bom dia !

Tenho uma classe de dominio Cep com os campos:
String numero, String logradouro, String bairro, String cidade e String uf.

Tenho outra classe de dominio Cliente com os campos:
String nome, String cep, String logradouro, String bairro, String cidade e String uf.

O que preciso ?

Preciso fazer com que o usuário ao preencher o campo cep (na view Cliente) execute uma busca em Cep (tabela), passando como parâmetro o "numero" (que foi digitado) e este método retorne os campos logradouro, bairro, cidade e uf, para jogar dentro dos seus respectivos, na view cliente.

Em Delphi, eu construiria um método retornando estes caras em um TClientDataSet e chamaria no evento On Exit do campo. Estaria resolvido !!

Mas em Grails, estou perdido...

Vocês podem me ajudar a fazer isso ?
Obrigado
Tags: Grails


0
Oi Rodrigo,

na realidade, você não vai fazer isto em Groovy, mas sim em Javascript e Groovy.
No caso, você vai ter de implementar um evento em Javascript no eento onblur do componente em questão que carregue o resultado de uma action.

Da uma lida neste link <!-- m --><a class="postlink" href="http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.7%20Ajax">http://grails.org/doc/latest/guide/6.%2 ... 6.7%20Ajax</a><!-- m -->

É sobre como trabalhar com Ajax e Grails. Com certeza vai te ajudar.


0
Pessoal,
para fazer o que preciso, como dito acima, preciso desenvolver uma função em Java Script que chame um método desenvolvido em Grails ?

Algum exemplo prático para me ajudar ?

Obrigado
29/03/2010 00:00


0
Minha sugestão é que você use o jQuery.

Vou te dar uma idéia do funcionamento da coisa ok?

Bom: vamos lá: suponhamos que você tenha um controlador na sua aplicação que retorne um trecho html contendo o nome de uma cidade com base no CEP tá? Vamos chamar este controlador de cidade.

Ele te retornaria algo assim quando acessasse a url <!-- m --><a class="postlink" href="http://seuservidor/aplicacao/cidade/exporCEP?cep=30130009">http://seuservidor/aplicacao/cidade/exp ... p=30130009</a><!-- m --> por exemplo:


<div>
Belo Horizonte
</div>


Agora, vamos supor que você queira que, na sua página, quando o usuário sair do campo texto que contém o CEP, ou seja, quando o foco deixar o componente. Você vai ter de disparar o evento onblur.

A melhor coisa que conheço para se trabalhar com JavaScript é jQuery. Snedo assim, sugiro que você o instale na sua aplicação.
É fácil: na linha de comando, simplesmente digite o comando grails install-plugin jquery.

Instalado o jQuery, na página em que você quer fazer isto você deverá executar o seguinte procedimento:
1. Dentro da tag head, inclua este conteúdo: <g:javascript library=&quot;jquery&quot;/>
Isto irá carregar as bibliotecas do jQuery pra você.

Agora, vamos à parte legal: o mecanismo de interação. Vamos supor que você tenha o trecho abaixo ok?


<g&#58;form bla bla bla>
<input type=&quot;text&quot; name=&quot;cep&quot; id=&quot;cep&quot; onblur=&quot;buscarcidade()&quot;/> <!-- O seu campo que contém o CEP --!>
<div id=&quot;cidade&quot;></div> <!-- A div na qual você quer que a cidade apareça --!>
</g&#58;form>



O código Javascript que você escreveria usando jQuery seria algo como:

function buscarcidade() {
var cep = document.getElementById(&quot;cep&quot;).value
$(&quot;#cidade&quot;).load(&quot;/suaAplicacao/cidade/exporCEP?cep=&quot; + cep)
}


O conteúdo será carregado dentro da sua div cidade.



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