HTMLのボタンの2度押し禁止の実装
よくある制御ですが、相変わらず画面系に縁が薄いのメモ
方法は2種類
1.ボタンを非活性化する
2.2度目のボタンクリックの処理を無効にする
今回は1の非活性化
手順
1.対象のボタンにクリックイベントを設定
<button type="button" name="btnUpdate" id="btnUpdate" value="更新" onclick="update()">
2.クリックイベントで呼び出すFunctionを作成
function update(){
//処理を実装
}
3.2の関数の冒頭で、対象ボタンのオブジェクトを取得
var elebtnUpdate=document.getElementById("btnUpdate");
4.3のオブジェクトの disable プロパティをTrue
elebtnUpdate.disabled = true;
以上。
注意
submitボタンに実装すると思わぬ問題が発生するようです。
通常のボタンに実装するのが安全らしい。
ちなみに、1の2度目の処理の無効化は、呼び出す関数ないでフラグを
立てて、フラグが立っていたら、すぐ Return でFunctionを抜ける
方式のようです。
実装の抜粋
オブジェクトの非活性化
var elebtnUpdate=document.getElementById("btnUpdate");
elebtnUpdate.disabled = true;
対象のボタンの定義
<button type="button" name="btnUpdate" id="btnUpdate" value="更新" style="WIDTH: 100px; HEIGHT: 30px" onclick="update()">
<font size="3">更新</font>
</button>
よくある制御ですが、相変わらず画面系に縁が薄いのメモ
方法は2種類
1.ボタンを非活性化する
2.2度目のボタンクリックの処理を無効にする
今回は1の非活性化
手順
1.対象のボタンにクリックイベントを設定
<button type="button" name="btnUpdate" id="btnUpdate" value="更新" onclick="update()">
2.クリックイベントで呼び出すFunctionを作成
function update(){
//処理を実装
}
3.2の関数の冒頭で、対象ボタンのオブジェクトを取得
var elebtnUpdate=document.getElementById("btnUpdate");
4.3のオブジェクトの disable プロパティをTrue
elebtnUpdate.disabled = true;
以上。
注意
submitボタンに実装すると思わぬ問題が発生するようです。
通常のボタンに実装するのが安全らしい。
ちなみに、1の2度目の処理の無効化は、呼び出す関数ないでフラグを
立てて、フラグが立っていたら、すぐ Return でFunctionを抜ける
方式のようです。
実装の抜粋
オブジェクトの非活性化
var elebtnUpdate=document.getElementById("btnUpdate");
elebtnUpdate.disabled = true;
対象のボタンの定義
<button type="button" name="btnUpdate" id="btnUpdate" value="更新" style="WIDTH: 100px; HEIGHT: 30px" onclick="update()">
<font size="3">更新</font>
</button>