Refresh quando set focus numa Tab (block)

Pessoal,
Tenho uma aplicação com 6 blocks, sendo 4 deles em Tabs.
Uma dessas Tabs precisa de um refresh sempre que for exibida pra buscar novamente qualquer atualização nos dados.
Usei um “campo” master-detail chamando uma outra aplicação que traz os dados que quero, tipo “dados do cliente” e “contatos do cliente”, sendo que contatos do cliente também é uma chamada no forme de dados do cliente para uma grid com os contatos dele.
O que acontece é que como tudo roda em iframes passando parâmetro para as consultas, nem sempre elas são carregadas no tempo certo, e ai as vezes carrega tudo, as vezes não.
Solução, dar refresh sempre que abrir essa Tab.
Alguma sugestão?
PHP
Valeu

Marcio Vasconcellos

Só com programação mais avançada.
Mas é possível sim.

1 Curtida

Recebi essa bola…e compartilho…

Para realizar este processo, vai ser preciso uma implementação manual.

Primeiramente, o sr precisará selecionar o elemento HTML via javascript utilizando document.querySelector("#ID") da aba armazenando numa variável.
Depois disto, você vai adicionar um evento onclick ao elemento da aba utilizando o addEventListener. No addEventListener, você precisará selecionar o elemento HTML do iframe e utilizar a função de reload.

E, utilizar este método no evento Javascript onLoad do seu formulário. Por exemplo:

var aba = document.querySelector("#id_tabs_1_2"); aba.addEventListener(‘click’, function(){ document.querySelector("#div_hidden_bloco_2").contentWindow.location.reload(true); });

Documentação recomendada:
https://www.scriptcase.com.br/docs/pt_br/v9/manual/06-aplicacoes/04-aplicacao-formulario/12-javascript/
https://www.w3schools.com/cssref/css_selectors.asp
https://developer.mozilla.org/pt-BR/docs/Web/API/Document/querySelector
https://developer.mozilla.org/pt-BR/docs/Web/API/Element/addEventListener
1 Curtida