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
し、フォーム要素にアラートを追加しようとしましたが、送信ボタンがトリガーされ、フォームが送信されることを確認できます。ただし、データベースに保存されているものは何も渡されません。私が間違っていることについて何か考えはありますか?