私はフォームを持っています。ユーザーがjavascriptを使ってダブル提出するのをやめようとしています。何らかの理由で、ハンドラ関数がfalseを返し、event.preventDefaultが呼び出されたとしても、フォームは複数回送信されます。誰でも知っている理由は?また、私はこの仕事を意図どおりにするにはどうしたらいいですか?Javascript - Form停止しないで送信する
document.getElementById('my_form').addEventListener("submit", function(evt){
if (validationFunction(document.getElementById('submit_button')) == false) {
evt.preventDefault();
return false;
}
});
機能 validationFunction(){ リターン偽}
<form method="post" id="my_form">
<input name='textbox'>
<input type="submit" id="submit_button">
</form>
ような?フォームがすでに提出されているかどうかチェックしていますか?全体を投稿する必要はありません。ちょうどそれが[mcve]になるように十分です。 –
検証関数が真または偽を返す – catbadger
はい、上のコードから明らかです;)。問題を再現するにはまだ十分ではありません。あなたの例を完成させるのに十分なコードを投稿することができますか?完了**(私の前のコメントのリンクを参照)? –