私は過去 2 日間、javascript の悪意のある onbeforeunload 関数と戦ってきました。ユーザーがページを閉じようとしているときに警告する機能があります。ただし、ページを閉じる前に、javascripts .submit() を使用してフォームを送信したいと思います。
これは私のコードです
function setPopUpWindow(submitForm){
window.onbeforeunload = function () {
if (submitForm == false ) {
//alert("It worked"); --This code gets called so I know it works
document.getElementById("CancelScripting").submit();
//return "Unsaved Data would be lost";
}
}
}
私のhtmlには2つのボタンがあります。1つは(想定されている).submit()をトリガーし、もう1つはそれを無視します。
<body>
<form action=tett.html id="popUpForm" method=POST>
<script>setPopUpWindow();</script>
<input type="submit" id="submit_button" onclick="setPopUpWindow(true);">
<input class=b1 type=submit id="CancelScripting" style="visibility:hidden" value="CancelScripting" >
</body>
2 番目の入力の setPopWindow 値が定義されていないため、false になります。何らかの理由で、送信がうまく機能していません。
--------------私の質問への編集---------------------- ------------------------- ユーザーがウィンドウの「X」ボタンを閉じてページを離れても、フォームを送信したいと思います。これが隠しボタンがある理由です...人々が私の質問を誤解しているようです.