Оставив страницу с формой, я хочу сохранить изменения, сделанные без какого-либо подтверждения пользователем.window.onbeforeunload возвращает пользователя на ту же страницу
Обнаружив это question, я адаптировал один из ответов следующим образом. Обратите внимание, что я не использую возврат:
function setConfirmUnload(on) {
window.onbeforeunload = (on) ? unloadMessage : null;
}
function unloadMessage() {
alert('Gonna save now');
setTimeout(validate_submit,500);
}
Это происходит только тогда, когда пользователь заполняет какое-либо значение в форме. Если изменения значений элементов, я использую
setConfirmUnload(true);
Результат в FF23: когда пользователь щелкает где-нибудь, чтобы оставить страницу, предупреждение показано, validate_submit() выполняется на «OK», появится новая страница - НО сейчас появляется предупреждение, и пользователь возвращается на исходную страницу в «ОК». Зачем? Может ли кто-нибудь подтвердить это поведение?
Я думаю, что вы хотите 'setTimeout (validate_submit, 500);' - отметить '()' не существует – Ian
Спасибо, я только что редактировал мой исходный вопрос соответственно. – user2317194