フォームを含むページを離れるときに、ユーザーの確認なしで行った変更を保存したいと考えています。
この質問を見つけたので、回答の1つを次のように適応させました。return を使用していないことに注意してください。
function setConfirmUnload(on) {
window.onbeforeunload = (on) ? unloadMessage : null;
}
function unloadMessage() {
alert('Gonna save now');
setTimeout(validate_submit,500);
}
これは、ユーザーがフォームに値を入力したときにのみトリガーされます。要素の値が変更された場合は、使用します
setConfirmUnload(true);
FF23 の結果: ユーザーがどこかをクリックしてページを離れると、アラートが表示され、validate_submit() が "OK" で実行され、新しいページが表示されます - しかし、アラートが再び表示され、ユーザーは "OK" で元のページに戻ります. なんで?誰かがこの動作を確認できますか?