フォームの送信ボタンの二重押しを禁止する方法

<input type="submit"> の送信ボタンを押しているのに、フォームスクリプトの処理や、サーバが重くて処理が完了しない場合に、ユーザが重複してボタンを押してしまうのを防ぐ小技。

参考:Web creators 2007 1月号

ソース

<html>
<head>
<script type="text/javascript">
function disableForm(){
	document.getElementById('btnSubmit').disabled=true;
}
</script>
</head>
<body onload="document.getElementById('btnSubmit').disabled=fales;">
<form action="action.php" method="post" onsubmit="return disableForm()">
<input type="submit" id="btnSubmit" value="送信する">
</form>
</body>
</html>

サンプル

サンプルは動作が分かるように、ページ遷移せずにボタンが無効化状態で止まっています。リロードすれば、元に戻ります。