Galera no sistema que estou desenvolvendo estou com a seguinte dificuldade.
Tenho uma lista com o resultado de uma query do banco em uma janela popup, ai quando clico em uma linha da lista me abre uma janela popup com os detalhes da linha solicitado e um botão para excluir.
Quando clico em excluir eu fecho a janela de detalhes e dou um refresh na de lista. Porem quando dou o refresh na pagina de lista me aparece a seguinte mensagem:
Algume sabe como dar o refresh da pagina chamadora sem aparecer essa mensagem?
Códigos
// js do botão de excluir.
function excluir(){
if(confirm("Deseja excluir a Ficha?")){
document.documentacaoForm.acao.value = "excluir";
documentacaoForm.submit();
}
}
depois chamo esse outro js:
function fechar(){
window.opener.reloadPage();
window.close();
}
que chama esse na pagina chamadora:
function reloadPage(){
javascript:location.reload();
}
Pelo que eu entendi a página que abre o seu popup é carregada após vc passar algumas informações para ela, como valores em um form ou parâmetros numa querystring comum, correto?
pagina1.jsp
<form>
<input name="param" value="1" />
<input type="submit" />
</form>
// após o submit carrega os dados de acordo com "param":
pagina2.jsp
<form>
<input name="nome" value="aaaa" />
<input name="tel" value="bbbb" />
<input name="email" value="cccc" />
</form>
<input type="button" onclick="abrePopup()" />
// abre o popup para os dados da página2:
popup.jsp
...
Então, essa mensagem que está aparecendo para você é a mesma coisa que aparece quando vc dá F5 ou Ctrl+R em uma página que foi carregada da mesma forma (como a pagina2.jsp do exemplo acima), o browser também pergunta se vc quer reenviar os dados passados anteriormente.
Uma solução rápida pro seu problema seria passar para a página de popup os parâmetros que vc passou para a pagina2.jsp (usando o exemplo) e, ao invés de dar um reload na página “opener”, dar um location.href:
function reloadPage(){
javascript:location.href='pagina2.jsp?param1=1¶m2=2';
}
Não é das melhores soluções, mas resolveria o problema rápido. Se vc estiver passando muitos parâmetros, ou se há a possibilidade de aumentar a quantidade de parâmetros no futuro, seria melhor repensar em como vc está montando a sua solução. Javascript para isso não passa de quebra-galho.
Armando obrigado pela ajuda mas mesmo com o submit (nomeform.submit() como mudando o metodo do form para get a mensagem continua aparecendo.
MarcioTavares o problema de usar o location.href é que a tela anterior a da lista é a de pesquisa, na qual eu desenvolvi uma pesquisa boleana dinamica tipo motado a minha query e eu não consigo saber de ante-mão quais os filtros serão usados.
Oque eu vou tentar e gravar meu filtro em uma variavel só e deixa-la como hidden. tipo campo1:valor1;campo2:valor2;campo3:valor3;
Não é do jeito mais elegante mais acho que assim consigo fazer funcionar.