さて、Ajax Tab Container 内でフォームを使用しているページがあります。タブを切り替えると、フォーム フィールドがクリアされます。ページにある可能性のある変更を保存するようにユーザーに促したい。JavaScript がポップアップする前にタブが変更されることを除いて、これはかなりうまく機能しています。したがって、キャンセルを選択すると、すでに新しいタブが表示されています。OKを押したときにのみ新しいタブに変更し、キャンセルをクリックすると現在のページにとどまるようにします。
これは、保存プロンプトに使用している jQuery です。
$(function () {
$(':input').bind('change', function () { setConfirmUnload(true); }); // Prevent accidental navigation away
$('.noprompt-required').click(function () { setConfirmUnload(false); });
$('.buttons').click(function () { setConfirmUnload(false); });
function setConfirmUnload(on) {
window.onbeforeunload = (on) ? unloadMessage : null;
}
function unloadMessage() {
return 'You have entered new data on this page. If you navigate away from this page without first saving your data, the changes will be lost.';
}
window.onerror = UnspecifiedErrorHandler;
function UnspecifiedErrorHandler() {
return true;
}
});
どんな助けでも大歓迎です。ありがとう!