5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Prototype.jsで、submitボタンの二重クリックの禁止

Last updated at Posted at 2012-02-19
after_click.css
//submitボタンの二重禁止
//全てのformのsubmitイベントの発生時に、formに含まれるsubmitボタンを無効化する。
window.onload = function() {
  var forms = document.forms; // 存在するフォームを取得する
  for (var i = 0; i < forms.length; i++) {
    var form = forms[i];
    Event.observe(form, 'submit', AfterClick);
  }
}
var AfterClick = function(event) {
  var form = event.target; // イベントの発生元であるフォームのオブジェクトを取得
  var elements = Form.getInputs(form, 'submit'); // フォームにあるsubmitを全て取得
  elements.each ( function(element, idx) {
    element.disabled = true; // submitを全て無効にする
  });
}

Prototype.jsが必須です。

情報の入力、ファイルを送信する時など、submitボタンのクリックの直後にsubmitを無効にして二重投稿を禁止するJavaScriptです。
一応、IE6やFirefoxでの動作は確認してます。

フォームが複数存在する場合は、AfterClickでもう一度「var forms = document.forms;」とかでフォーム全体のsubmitを取得するなりすれば、可能じゃないかと思います。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?