Web開発する上で、HTMLやJavaScriptを使用しWeb画面(GUI)を作成するのだが、
Webで使用されるHTML画面では、5250エミュレーターで使用していたDSPFの画面
と異なり自由に操作できる反面、ボタン等の制御が必要になります。
特にWebアプリケーションで、HTML画面上のSubmitボタンを連続打鍵することにより
CGIのサーバーエラーやデータ登録の不整合を引き起こすことが多々あるのも事実です。
ここで簡単に、HTML画面上のSubmitボタン二重起動を防ぐテクニックを紹介します。
簡単に言えばHTML画面よりサーバーへリクエスト(Submitボタンで)したのち、
自分自身(Submitボタン)を使用不可状態にするだけです。
それではSubmitボタン二重起動防止のJavaScriptコーディング例を挙げます。
まず JavaScriptの グローバル変数に 二重起動防止フラグ変数(false)用意し、
submit関数内で 実際にフォームSubmit実行後にフラグを true する。
二度目以降、ボタンを押した場合 次の条件文で
if(flg == true) return;
処理が戻されることとなり、以降は処理されません。
------------------------------------------------------------------- <html> <head> : : <script language="JavaScript"> var flg = false;//2重起動防止フラグ function submit(self){ : if(flg == true) return;//ここで二重起動を防ぐ : document.frmSam.submit();//Submit実行 flg = true; } </script> </head> <body> <form name="frmSam"> : : <input type="button" name="btn" value="送信" onclick="submit()"> : </form> </body> </html> -------------------------------------------------------------------