- rozpoznaje czy zmiany zostaly zapisane (szukam czy gdziekolwiek istnieje klasa CSS .changed, ktora oznacza zmiane)
- jesli tak, mozna opuscic strone bez alertu
- jesli nie - wyswietla sie komunikat, pytajacy czy na pewno chcsz opuscic strone
Czy to rozwiazanie jest dobre?
Dziala tak jak chce, ale wyglada troche nieprofesionalnie.
var SaveIsClicked = false; $("button.submitButton").click(function () { SaveIsClicked = true; }); window.onbeforeunload = function (e) { if ($(".changed").length > 0 && !SaveIsClicked){ alert(SaveIsClicked); var message = "You haven't saved your changes.", e = e || window.event; // For IE and Firefox if (e) { e.returnValue = message; } // For Safari return message; } };