とりあえずの備忘録

主にパソコンやインターネットに関するメモ

Javascript グローバル変数に送信状態を格納してフォームの二重送信を防ぐ

グローバル変数の値を用いて二重送信を防ぐ

「HTML部分」

<form onSubmit="return CheckSubmitted();" action="test.cgi" method="post">
<input type="submit" value="送信">
</form>

「Javascript部分」

<script type="text/javascript">
<!--
//最初に送信中でないことを示すfalseをセット
var submit_status = false;

function CheckSubmitted() {
 //送信中ならば警告
 if (submit_status == true) {
  alert("現在送信中です。しばらくお待ち下さい。");
  return false;
 }

 //送信が押されたら送信中を示すtrueをセット
 submit_status = true;
 return true;
}
// -->
</script>