Chcę wyświetlać ostrzeżenie, jeśli użytkownik podejmie próbę opuszczenia strony zawierającej niezapisane ustawienia, ale oczywiście nie, jeśli chce zapisać te ustawienia.Wyświetlenie ostrzeżenia z funkcją "onbeforeunload" podczas opuszczania strony, chyba że kliknięto przycisk "Wyślij".
Domyślam się, że moje zrozumienie jest złe, ponieważ uważam, że poniższy powinien działać, ale tak nie jest. Czy ktoś może mi powiedzieć, co robię źle? Dzięki.
$('input[name="Submit"]').off('onbeforeunload');
window.onbeforeunload = function closeEditorWarning(){
/** Check to see if the settings warning is displayed */
if($('#unsaved-settings').css('display') !== 'none'){
bol_option_changed = true;
}
/** Display a warning if the user is trying to leave the page with unsaved settings */
if(bol_option_changed === true){
return '';
}
};
Dobra myśl, ale niestety nie działa. Najpierw pobierane jest kliknięcie, ale ostrzeżenie jest nadal wyświetlane. Dzięki. –
Potrzebowałem dodać 'var bol_option_changed = false;' do funkcji 'onbeforeunload', więc wszystko działa. Dzięki. –