В настоящее время у меня есть форма, которая проверяет, есть ли у пользователя неотправленные изменения, когда они покидают страницу с помощью функции, вызываемой через событие 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
к кнопке отправки и оповещения onsubmit
к элементам формы, и я могу убедиться, что кнопка отправки срабатывает и что форма действительно отправляется. Однако ничего не передается в базу данных. Любые идеи относительно того, что я делаю неправильно?