我目前有一个表单,用于检查用户在离开页面时是否有未提交的更改,并使用通过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
表单元素添加警报,我可以验证提交按钮是否被触发并且表单确实被提交。但是,没有任何东西通过存储在数据库中。关于我做错了什么的任何想法?