Jump to content


Photo

Onbeforeunload + Form Submit


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 gmps

gmps

    Amsdã

  • Usuários
  • 969 posts
  • Sexo:Não informado

Posted 01/12/2010, 07:04

galera eu tenho o seguinte:

tenho uma tela inicial onde a pessoa vai clicar em um botao/link e vai abrir uma nova janela com o window.open, segue:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
 </HEAD>
 <BODY>
  <a href="#" onclick="window.open('Noname1.html', 'teste', 100, 100);">a</a>
 </BODY>
</HTML>

ai no Noname1.html eu tenho o seguinte: tenho um botão dentro de um form onde a pessoa tem que clicar para fechar a sessão, caso a pessoa clique no X da janela, a sessão dela vai ficar aberta.

O que eu queria fazer é: quando a pessoa clicar no X, tentar executar o form.

O exemplo abaixo funciona, por incrível que pareça, somente no IE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>  
<script language="javascript" type="text/javascript">
//window.onunload = Sair;
window.onbeforeunload = ConfirmExit;
function ConfirmExit()
{

sleep(4000);
	document.getElementById("form").submit();
sleep(4000);
}


function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}
</script>
 </HEAD>

 <BODY>
  
<form name="form" id="form" action="http://www.google.com.br" method="post" target="_blank">
<input type="submit" name="bla" value="bla" onclick="Sair();">
</form>

 </BODY>
</HTML>

e só funciona com esse sleep, caso contrário não funciona
"Se você não puder ajudar, atrapalhe; afinal, o importante é participar..."




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq