私は自分のフォームに関数onload="submit()"
を使用しようとしていますが、ページが読み込まれるときに複数回実行されます。結果はありますが、どのようにループを止めることができますか?どうすれば一度だけ使うことができますか?ここに私のコード:複数のonloadの送信を避ける
<script type="text/javascript">
function submit() {
if (!sessionStorage.getItem("submitted")) {
sessionStorage.setItem("submitted", "true");
document.post.submit();
}
}
</script>
<body onload="submit()">
<form method="post" id="post" name="post">
//stuff here
<input id="submit" type="submit" value="Valider" name="test" class="submit">
</form>
何か私は間違っているのですか?それとももっと良い方法がありますか?
ありがとうございました!
ループしていますか?送信中にページが再読み込みされていますが、もう一度onload関数を実行していますか? –
はい、最初の読み込みページでそれ自体がループしています。 –
何が起こると思いますか? 'onload'は、ページが読み込まれたときに実行される関数です。これはフォームを送信し、ページをリロードして、再び 'onload'関数を実行します。 – Barmar