Inquiridor
JS - perguntar se a pessoa realmente quer sair ou nao, como no hotmail Live, alguem sabe como?

Pergunta
-
Ola pessoal
preciso perguntar ao usuario se ele realmente quer sair da pagina ou nao
tipo dar uma alert e avisar que se ele sair vai perder os dados da tela
assim como ocorre no hotmail live
alguem sabe como que se faz isso?
ja tentei algumas coisas com o evento onunload porem nao consegui nada
alguem pode me ajudar?
falow
T+ pessoal
Todas as Respostas
-
Krusst,
Veja se isso lhe ajuda
<!--
<html>
<head>
<script language="javascript">
function fecha()
{
var resposta = confirm("Voce Realmente Deseja Cancelar?");
if(resposta)
alert("Voce apertou ok");
else
alert("voce apertou cancel");
}
</script>
</head>
<body>
<input type="button" id="btnSair" value="SAIR" onclick="fecha()">
</body>
</html>
Eu chamei a funcao fecha() no evento onclick do meu botao sair.
na funcao fecha() eu criei um confirm e guardei o valor booleano dele dentro da variavel resposta
depois fiz um if e para saber em qual botao o usuario apertou (OK ou CANCEL), ao inves do alert voce poderia colocar o seu codigo por exemplo
espero ter ajudado
Felicidades -
infelizmente nao
pq ai o usuario tem que click no botao
a funcao que eu quero é qdo ele mudar de pagina ou fechala apareca pra ele avisando que ele vai perder todos os dados, caso ele click no SIM ele continua na pagina se no NAO ele fecha ou muda de pagina
mais obrigado da mesma forma
T+ cara -
ola pessoal
eu fiz algo parecido com isso
<body onunload="teste()">
</body>
</html>
<script language="javascript">
function teste(){
if (confirm("Você irá perder os dados,deseja continuar?")){
document.URL = "logoff.html"
}
}
</script>
porem como eu cancelo o ato de ele mudar de pagina ou fechar o browser?
é esse o problema que estou tento
tentei coisas desse tipo
function teste(){
if (confirm("Você irá perder os dados,deseja continuar?")){
document.URL = "logoff.asp"
}else{
return false;
}
}
e nao adianta redirecionar para a propria pagina em que se encontra, pois irá perder os dados da mesma forma
a menos que eu passe os valores para a pagina na URL dessa forma..
document.URL = "pagina.asp?Nome="+documento.form.nome.value
e assim por diante o resto dos valores
porem eu tenho alguns formularios com muitos campos, ai ja começa a complicar
caso exista uma maneira que ele permaneça na tela sem eu ter que passar os valores novamente é melhor e claro mais facil
por enqto é so
obrigado a todos
t+ -
-
-
eu entrei nesse forum pesquisando a mesma soluçao pra mim.
não encontrei aqui, mas encontrei em outro lugar e resolvi voltar aqui pra passar a solução pra quem por ventura esteja buscando:
existe o evento onbeforeunload ja implementado pra essa situação, em que vc ainda pode adicionar uma mensagem à mensagem padrão do browser.
<html>
<head>
<script language="javascript"> <!--window.onbeforeunload = function() {
return "Os dados do formulário serão perdidos.";
}
-->
</script></head>
<body>
sua página com seus forms ficará inalterada caso a pessoa clique em cancelar na janela de confirmação.
</body>
espero ter ajudado.
-
-
-