На HTML странице имеется поле ввода, в которое пользователь может ввести большое количество информации. Как сделать так, чтобы при переходе на другую страницу выдавался диалог, предупреждающий о потере набранного текста?
Предупреждение о потере данных при закрытии страницы
2
Спросил
Лучший ответ:
1
В javascript есть событие у страницы onBeforeUnload.
Любое действие пользователя, реально выгружающее текущую страницу или заменяющую её новой, запускает обработчик события onBeforeUnload.
Используется для объектов: IE4+: window Пример:
function verifyClose() {
event.returnValue = "We really like you and hope you will stay longer."
}
window.onbeforeunload = verifyClose
А вот пример из MSDN
// Allow the user to be warned by default.
var allowPrompt = true;
window.onbeforeunload = WarnUser;
function WarnUser()
{
if(allowPrompt)
{
event.returnValue = "You have made changes. They will be lost if you continue.";
}
else
{
// Reset the flag to its default value.
allowPrompt = true;
}
}
function NoPrompt()
{
allowPrompt = false;
}
А в других браузерах (кроме IE) это работает?