Sto utilizzando window.onbeforeunload per impedire all'utente di spostarsi dopo aver modificato i valori in un modulo. Funziona bene, tranne che mostra anche l'avviso quando l'utente invia il modulo (non desiderato).window.onbeforeunload - Mostra solo avviso quando non si invia il modulo
Come posso fare questo senza mostrare l'avviso quando il modulo viene inviato?
codice attuale:
var formHasChanged = false;
$(document).on('change', 'form.confirm-navigation-form input, form.confirm-navigation-form select, form.confirm-navigation-form textarea', function (e) {
formHasChanged = true;
});
$(document).ready(function() {
window.onbeforeunload = function (e) {
if (formHasChanged) {
var message = "You have not saved your changes.", e = e || window.event;
if (e) {
e.returnValue = message;
}
return message;
}
}
});
Ho accettato questo sopra @ Derek perché avevo già un codice di invio personalizzato e dovevo controllare separatamente i due valori. – mtmurdock