В настоящее время у меня есть форма, которая проверяет, не имеет ли пользователь непредвиденных изменений, когда они покидают страницу с помощью функции, вызванной событием onunload. Вот функция:Javascript onunload form submit не отправляет данные
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 оповещения к элементам формы, и я могу проверить, что кнопка отправки запускается и что форма отправляется. Однако в базе данных ничего не передается. Любые идеи относительно того, что я делаю неправильно?
Спасибо.
Спасибо за предложение onbeforeunload. Я пересмотрел свой код и заставил его работать по-другому. – holic87