Ajax em Campos de Texto.
21/03/2012 17:06
0
Aloha pessoal, por motivos de força maior, fiquei quase 2 semanas longe do Projeto em GRails e fazendo uma revisão absurda pra não me perder nos conceitos.

Pois bem, hoje precisei fazer uma validação de 1 único TextField para verificação de um Login.

A idéia é simples, criei um g:textField e passei o seguinte:

<g:textField name="login" onchange="${remoteFunction(controller:'index', action:'validateLogin', update:'erroLogin')}"/>


E no IndexController fiz somente 1 teste de Debug mesmo pra ver se chegava na action validateLogin... Ficou bem simples:

def validateLogin() {
println 'Chegou aqui'
}


Ou seja, só para teste mesmo... Onde estou errando ?? Ví nesse exemplo o uso... Claro que sei que o autor já estava justamente pedindo ajuda, mas fiz o teste, pois o amigo lá recomendou o uso de um Plugin... Sei que tem algo já nativo no GRails para usar.

Retirei o params:'\'name=\' + this.value' do exemplo, pois era só pra chegar na Action e coloquei o nome do controlador, pois é pra lá que quero mandar a requisição.

Olhando tbm um outro que achei aqui no GRails Brasil NESSE LINK, percebi que o onchange também é usado e inclusive com um Controlador (claro que é em um g:select e não em um textField).

Enfim, o que não estou enxergando na solução ? Há diferença na chamada de um select para um textField ?

Abs [] e obrigado a todos pela atenção.
Tags: ajax, textField, onchange


0
Olá, Adriano.

Amigo, já usei isso em textfield e funcionou normalmente.
O que deu aí exatamente pra você?

Abraços.


0
não deu nada... Simplesmente não chegou ao método.

Nesse momento estou longe do projeto, depois te falo exatamente dentro de que tipo de Form está.

Abs []
25/03/2012 01:20


0
Adriano, olha, não gostei muito dessa tag "remoteFunction".

Uma vez fiz isso e gostei de como ficou:

<g:form action="t1">
<g:textField name="campo1" onkeyup="jQuery('#bt1').click()"/> <br/>
<g:textField name="campo2" onkeyup="jQuery('#bt1').click()"/> <br/>

<g:submitToRemote id="bt1" url="[action:'t1']" update="res" class="invisivel"/>
</g:form>
<div id="res"></div>


Deu pra entender? Assim, sempre todos os campos do formulário são passados via Ajax.
Não sei se ficou POG esse botão de submissão ajax "invisível", mas achei mais prático.

Os "onkeyup" nos campos podem ser substituídos por qualquer outro "onXXX", conforme sua necessidade.


0
Ah, e a "action" da tag de formulário não precisa ser a mesma da tag de submissão ajax.



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