У меня есть предупреждение в моем проекте, где мы предупреждаем конечного пользователя, если они закрывают окно перед сохранением заполняемой формы. Он отлично работает, но он также срабатывает, даже когда они сохраняют форму и пытаются выйти. Я хочу, чтобы это предупреждающее сообщение появлялось только в том случае, если пользователи пытались выйти из него, прежде чем сохранять форму. Как мне это сделать?Как проверить, была ли запущена функция jQuery
Ниже приведен код, отображающий предупреждающее сообщение.
jQuery(window).bind('beforeunload', function (e) {
var message = "You have attempted to leave this page. Your information will be lost. Please submit before exiting the page. Are you sure you want to exit this page?";
e.returnValue = message;
return message;
});
И это моя функция экономии
save: function (e) {
e.preventDefault();
var that = this;
that.Height = that.HeightFeet * 12 + that.HeightInches;
that.UrinationFrequencyMinutes = that.UrinationFrequencyHours * 60 + that.UrinationFrequencyMins;
var modelData = kendo.stringify(that);
$.ajax({
type: "POST",
url: constants.serviceUrl + "Form/Create/",
data: modelData,
dataType: "json",
contentType: "application/json; charset=utf8",
beforeSend: function (xhr) {
$("#loadingBackground").show();
$("#loaderContainer").show();
}
})
.success(function (e) {
var test = e;
that.set("SaveCompleted", true);
that.set("SaveSucceeded", true);
})
.fail(function (e) {
var test = e;
that.set("SaveCompleted", true);
that.set("SaveSucceeded", false);
})
.done(function (e) {
var test = e;
$("#loadingBackground").hide();
$("#loaderContainer").hide();
});
},
Помощь оценили! :)
FYI 'Успех()' метод является устаревшим (удален в JQ 3.х), установить логику внутри 'сделано()' –