このリンクを確認してください:http ://www.4guysfromrolla.com/webtech/100604-1.shtml
onbeforeunloadイベントの処理方法に関する情報を提供します。
アイデアは、ページにグローバルフラグを設定することです。フィールドに変更が加えられると、このフラグはtrueに設定されます。保存ボタンをクリックした場合、このフラグをfalseに設定する必要があります。
onbeforeunloadイベントで、フラグがtrueであるかどうかを確認し、それに応じてメッセージを表示します。
var needToConfirm = true;
window.onbeforeunload = confirmExit;
function confirmExit()
{
if (needToConfirm)
{
// check on the elements whether any change has been done on the fields.
// If any change has been done, then set message here.
}
}
function saveClicked()
{
needToConfirm = false;
}
物事を行う別の方法は、onchangeイベントを介してフィールドに変更が加えられたときにneedToConfirmフラグを設定することです。