В настоящее время у меня есть форма, которая проверяет, есть ли у пользователя неподтвержденные изменения, когда они покидают страницу с функцией, вызываемой через событие onunload. Вот функция:
function saveOnExit() {
var answer = confirm("You are about to leave the page. All unsaved work will be lost. Would you like to save now?");
if (answer) {
document.main_form.submit();
}
}
А вот форма:
<body onunload="saveOnExit()">
<form name="main_form" id="main_form" method="post" action="submit.php" onsubmit="saveScroll()">
<textarea name="comments"></textarea>
<input type="submit" name="submit2" value="Submit!"/>
</form>
Я не уверен, что я делаю здесь не так. Данные будут отправлены и сохранены в моей базе данных, если я просто нажму кнопку отправки для формы. Однако попытка отправить форму с помощью события onunload не приводит к тому, что что-либо сохраняется, насколько я могу судить. Я попытался добавить оповещения onclick к кнопке отправки и отправить оповещения на элементы формы, и я могу убедиться, что кнопка отправки запущена и форма действительно отправлена. Тем не менее, ничего не передается хранится в базе данных. Есть идеи, что я делаю не так?
Спасибо.