ダブルクリックによる2重投稿を防ぐために使用する。
isSubmittedフラグにより、クリックされたかどうかを判断し、 されていなければ、3秒(3000ミリ秒)待ってから、フラグを変更し、 trueを返す。ようは、1回目のクリックから3秒間はフラグがtrueの為、 2回目のクリックが無効になる。
方法
フォームには以下のように。
onsubmit="return formSubmit()"
JavaScriptファイルは以下のように
// クリック判定フラグ // falseの場合は、クリックされていないを意味する var isSubmitted = false;
function formSubmit(){
// クリックされていないかどうか
if(!isSubmitted){
// フラグをtrueに変更する
// これにより1回目のクリックがまだ実行中の為、
// 2回目のクリックが無効となる
isSubmitted = true;
// 3000ミリ秒後にフラグをfalseに戻す
// 3000ミリ秒の間は、フラグがtrueの為、Submitできない
setTimeout(“resetIsSubmitted()”, 3000);
// Submitする
return true;
} else{
// Submitしない
return false;
}
}
function resetIsSubmitted(){
// フラグをfalseに戻す
isSubmitted = false;
}