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
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
Agostinho, utilize a função sendData ao invés da setData.
A sendData é static e a setData não.
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?
a função esta assim agora, mas ainda sem atualizar a tela
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:
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!!!!!!!