0

次のようにフォームへの入力が完了していない場合に備えて、ユーザーがフォームページを離れようとすると、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アラートが表示されないようにするにはどうすればよいですか?

4

2 に答える 2

1

あなたは探している:

<form ... onSubmit='window.onbeforeunload = null; return true;'>

これにより、実行される前にイベントハンドラーがクリアされます。

于 2012-10-04T21:39:15.550 に答える
1

onClosed?の前に関数に追加できませんlocation.reloadか?

于 2012-10-04T21:37:10.683 に答える