Atualizar Imagem Criada com TElement Tenho uma dúvida e queria ver se poderiam me ajudar... Como eu posso recarregar uma image que foi criada com TImage ou TElement... Por exemplo, ao selecionar o produto gostaria de mudar a foto do produto na página, No evento onExitAction.... ...
DP
Atualizar Imagem Criada com TElement  
Fechado
Tenho uma dúvida e queria ver se poderiam me ajudar...

Como eu posso recarregar uma image que foi criada com TImage ou TElement...

Por exemplo, ao selecionar o produto gostaria de mudar a foto do produto na página,

No evento onExitAction....

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 (3)


JD

Ola Diony, este tipo de operação eu costumo fazer com javascript, veja:

 
  1. <?php
  2. //dentro do onExitAction();
  3. $script = new TElement('script');
  4. $script->type = 'text/javascript';
  5. $script->add('$("#<id_do_componente>").attr("src","<caminho_da_nova_imagem>")');
  6. parent::add($script);
  7. ?>

Não sei se é a maneira correta, mas funciona.
Espero que te ajude.
DP

Funcionou, porém, no método onExitAction retorna um erro dizendo que não posso usar $this em uma função estática...
o $this encontra-se na classe TElement...

Como posso resolver essa questão?
JD

Tente tratar tudo pelo javascript, em vez de usar o metodo onExitAction vc usa javascript pra chamar um metodo da classe, Ex:
 
  1. <?php
  2. //dentro do construtor da classe;
  3. $script = new TElement('script');
  4. $script->type = 'text/javascript';
  5. $script->add('
  6. $(document).ready(function(){
  7. $("#<id_do_campo>").change(function(){
  8. $.post("engine.php?class=<nome_da_classe>&method=<nome_do_metodo>",
  9. $("#<id_do_form>").serialize(),
  10. function(result)
  11. {
  12. __adianti_load_html(result);
  13. $.unblockUI();
  14. });
  15. });
  16. });
  17. });
  18. ');
  19. parent::add($script);
  20. ?>


Assim você não precisa deixar o método estático e você pode tratar melhor o evento que vai disparar sua rotina, no exemplo eu fiz com "change" mas vc pode colocar no evendo "blur", fica a seu critério.