Cześć, problem jest w miejscu edycji formularza.
Potrzebuję sprawdzić czy któryś z elementów w formularzu został zmieniony i jeżeli tak, to zablokować możliwość opuszczenia strony wyrzucając popup z potwierdzeniem decyzji o porzuceniu zmian.
Generalnie się udało! Wygląda to tak:
<script>
//sprawdzam zmiany w formularzu.
var ifChanged = false;
$("#uploadForm").change(function(){ //Błąd. Przepuszcza Affair name.
ifChanged = true;
});
//jeśli wprowadzono zmiany otwieram okno.
window.onbeforeunload = function () {
if(ifChanged == true || document.getElementById("ceep_appbundle_affair_affairName").value != ""){
return "Are you sure that you want to leave this page?";
}
};
</script>
I działa. Tylko, że szef wymyślił sobie, że okienko nie może być domyślne. Trzeba użyć Bootstrapowego Bootbox'a...
I tu jest problem.
Wszystkie biblioteki dodane. Wszystko gra. Ale nie mam pojęcia jak zamienić
window.onbeforeunload
na coś takiego:
bootbox.confirm("Are you sure?", function(result) {
Example.show("Confirm result: "+result);
});
Bo albo wyskakują obydwa okienka na raz, albo nic nie działa... Help..
Opieram się na tym:
http://bootboxjs.com/