送信ボタン連打防止スクリプト
2006–10–27
送信ボタンの連打防止スクリプト。1フォーム複数ボタンに対応。
- ボタンクリック
- submitとimageとresetを無効にする(複数可)
- フォーム送信
...みたいな流れ。用途としては、主に処理待ち中に送信ボタンを連打することによって起こる、複数投稿を回避する目的で使う。
HTML
<form action="" method="get" onsubmit="return onceOnly(this);"><fieldset><legend>テストフォーム</legend><p><input type="text" name="test" value="" /><input type="submit" value="送信" /><input type="reset" value="取消" /><input type="image" src="" alt="画像" /></p></fieldset></form>
Script
var exec = false;function onceOnly(thform) {if(exec == true){ return false; };exec = true;obj = thform.getElementsByTagName('input');for (i=0; i < obj.length; i++) {if((obj[i].type) == 'submit' ||(obj[i].type) == 'image' ||(obj[i].type) == 'reset') {obj[i].disabled = true;};};alert('ボタン、無効になってるでしょ?');return true;};
memo: alertはチェック用なので、実用の際は外したほうが良いでしょう。
postscript: 改訂版をアップしました。