4月 20th, 2008at 16:13
Tags: Javascript, Web
Javascriptでボタンのダブルクリックを抑制する
ダブルクリックによる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;}




