Caixa de Confirmação Antes de Sair
Quantas vezes estamos nós a editar conteudo numa zona administrativa, ou a escrever um artigo no wordpress, ou a preencher um formulário gigantesco e sem querer mudamos de janela e perdemos informação. Não era maravilhoso se os programadores tivessem pensado numa confirmação antes de sair da página?
Vou-vos mostrar como nós programadores podemos resolver este problema.
A ideia é bastante simples. Com javascript vamos adicionar a nossa acção de confirmação e associar ao evento de saída da página. Nota: Não iremos usar o método onUnLoad da tag body. Desta forma teremos mais controle nos nossos eventos.
// Gestão de Eventos
function addEvent(elm, evType, fn, useCapture)
{
if (elm.addEventListener)
{
elm.addEventListener(evType, fn, useCapture);
return true;
}
else if (elm.attachEvent)
{
var r = elm.attachEvent(’on’ + evType, fn);
return r;
}
else
{
elm[’on’ + evType] = fn;
}
}
function removeEvent(elm, evType, fn, useCapture)
{
if (elm.removeEventListener)
{
elm.removeEventListener(evType, fn, useCapture);
return true;
}
else if (elm.detachEvent)
{
var r = elm.detachEvent(’on’ + evType, fn);
return r;
}
else
{
elm[’on’ + evType] = “”;
}
}
// Adicionar Listeners
function addListeners(e)
{
addEvent(window, ‘beforeunload’, exitAlert, false);
}
// Alert de Saída
function exitAlert(e)
{
var msg = “Ao sair irá perder a informação já preenchida.”;
// definir evento
if (!e) { e = window.event; }
if (e) { e.returnValue = msg; }
// return warning message
return msg;
}
// Iniciar
addEvent(window, ‘load’, addListeners, false);
Hoje ao vaguear pelas net encontrei o link para um site chamado
Há mais de um ano