4月 20th, 2008at 16:13

Tags: ,

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;}
このエントリーをはてなブックマークに追加