次のようにフォームへの入力が完了していない場合に備えて、ユーザーがフォームページを離れようとすると、JavaScriptメッセージが表示されます。
window.onbeforeunload = function (evt) {
if(window.nounloadcheck == true) return;
var message = 'Data you entered may not be saved';
if (typeof evt == 'undefined') {
evt = window.event;
}
if (evt) {
evt.returnValue = message;
}
return message;
}
同じページにカラーボックスモーダルを開くリンクもあり、ユーザーは新しい写真をアップロードできます。新しい写真を送信すると、カラーボックスモーダルがメインページを閉じて更新し、ユーザーがアップロードした新しい写真を表示できるようにします。これは、メインページを更新するためのカラーボックスコードです。
jQuery(document).ready(function(){
jQuery(".iframe").colorbox({iframe:true, width:"748px", height:"92%", onClosed:function(){ location.reload(true); } });
});
問題は、ページがリロードしようとすると、javascriptアラートが表示されることです。私はもう試した:
<form ... onSubmit='window.nounloadcheck = true; return true;'>
メインページのフォームの送信ボタンのこの言葉。ただし、カラーボックスモーダルの送信ボタンでは機能しません。カラーボックスモーダルを閉じたときにメインページにJavaScriptアラートが表示されないようにするにはどうすればよいですか?