Lançado Adianti Framework 8.1!
Clique aqui para saber mais
Como enviar valores para outro campo na saída de campo Boa tarde, estou iniciando no Adianti Studio e me deparei com uma situação que não estou conseguindo resolver, criei um form e nele tenho o campo CEP, criei uma action que ao sair do campo ele busca os dados do endereço com base no cep no viacep.com.br, até ai tudo bem, ta retornando o que preciso, porém não consigo atualiza os campos data tela, na função da action esta como abaixo: ...
AB
Como enviar valores para outro campo na saída de campo  
Fechado
Boa tarde, estou iniciando no Adianti Studio e me deparei com uma situação que não estou conseguindo resolver, criei um form e nele tenho o campo CEP, criei uma action que ao sair do campo ele busca os dados do endereço com base no cep no viacep.com.br, até ai tudo bem, ta retornando o que preciso, porém não consigo atualiza os campos data tela, na função da action esta como abaixo:

public static function onCep($param)
{
try {
$retorno = BuscaCep::onCep($param['cep100']);
$objeto = json_decode($retorno);
if (isset($objeto->logradouro)){
// get the search form data
$obj = new stdClass();
$obj->endereco100 = $objeto->logradouro;
TForm::setData('T100patioFormList',$obj);
unset($obj);
}else{
new TMessage('info', 'Erro ao buscar endereço por este CEP.');
}
}catch (Exception $e){
new TMessage('error', 'Error: ' . $e->getMessage());
}
}

Alguem poderia me dar uma dica, ou aonde eu poderia encontrar a solução para isto?

Grato

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (5)


NR

Agostinho, utilize a função sendData ao invés da setData.

A sendData é static e a setData não.
AB

Obrigado por me retornar Nataniel, mudei, inclusive ja tinha visto nos exemplos do tutor isto, mas ele nao carrega, achei estranho que em alguns exemplos a função esta apenas como function e tem uma forma diferente, nao usa static, mas na versao que tenho que é a ultima, ele exige uma função static para a action do campo, será que não é este o problema e to fazendo errado?
AB

a função esta assim agora, mas ainda sem atualizar a tela
  1. <?php
  2. public static function onCep($param)
  3.     {
  4.         try {
  5.              $retorno BuscaCep::onCep($param['cep100']);
  6.              $objeto  json_decode($retorno);
  7.              if (isset($objeto->logradouro)){
  8.                  $obj - new stdClass();
  9.                  $obj->endereco100 $objeto->logradouro;
  10.                  TForm::sendData('T100patioFormList',$obj);
  11.                  unset($obj);
  12.              }else{
  13.                  new TMessage('info''Erro ao buscar endereço por este CEP.');
  14.              }
  15.         }catch (Exception $e){
  16.             new TMessage('error''<b>Error:</b> ' $e->getMessage());        
  17.         }
  18.     }    
  19. ?>
NR

Olhando assim parece tudo certo com sua função. Só confirme se o nome do formulário é mesmo T100patioFormList, lembrando que não é o nome da classe e sim do parâmetro passado para o construtor do Form:
  1. <?php
  2. new TQuickForm('nome_form');
  3. ?>
AB

Falta de experiência minha, era isso mesmo o erro, eu tava passando o nome da classe (T100patioFormList) e não do que foi passado ao TQuickForm que era (form_T100patio) , alterei e ja deu certo, obrigado mesmo, esse é meu primeiro projeto com o adianti, mas vou prestar mais atenção, grato!!!!!!!