вторник, 29 сентября 2009 г.

JavaScript: Уведомление перед закрытие окна или переходом на другую страницу

При добавлении или редактировании различных материалов в браузерах, возникает проблема когда при нажатии по кнопке BACKSPACE происходит переход на предыдущую страницу. Данный код будет уведомлять при закрытие окна или переходе на другую страницу о том что данные не сохранены.

<html>
<head>
<title>Уведомление несохраненной информации (onbeforeunload)</title>
<script type="text/javascript">
    // Текст уведомления
    var UNLOAD_MSG = "Вы потеряете все несохраненные данные!";
    // Если IGNORE_UNLOAD равна true, то уведомление не работает, если FALSE то уведомление показывается
    var IGNORE_UNLOAD = true;
    function doBeforeUnload() {
       if(IGNORE_UNLOAD) return; // Let the page unload
       if(window.event)
          window.event.returnValue = UNLOAD_MSG; // IE
       else
          return UNLOAD_MSG; // FX
    }
    if(window.body)
       window.body.onbeforeunload = doBeforeUnload; // IE
    else
       window.onbeforeunload = doBeforeUnload; // FX
</script>
</head>
<body>
<form action="" method="GET">
<p><textarea onchange="IGNORE_UNLOAD = false" onkeypress="IGNORE_UNLOAD = false">Измените текст для проверки.</textarea></p>
<p><input type="submit" value="Отправка формы" onclick="IGNORE_UNLOAD = true" /></p>
<p><a href="http://www.google.com">Перейти на google.com</a></p>
</form>
</body>
</html>

Комментариев нет:

Отправить комментарий