フォームの活用・装飾 (HTML,CSS,JavaScript)

更新日:2008年04月22日

1回クリックすると無効になるボタンを作る

BBSの投稿ボタンやメッセージの送信ボタンなどは、複数回クリックされると同じ内容を何度も送信してしまいます。1回クリックすると無効状態に変化する送信ボタンを用意して、重複送信を防ぐ方法をご紹介。

無効状態を解除できるようにする

ボタンの無効状態を解除できる仕組みは、以下のようにHTMLとJavaScriptを記述することで作れます。

<form name="orange">
   <input type="button" value="1回だけクリックできます" name="apple" onclick="disabled = true;">
   <input type="button" value="制限を解除" onclick="document.orange.apple.disabled = false;">
</form>

上記のソースは、先ほどのボタンに加えて、制限解除用のボタンを作っています。 また、フォームとボタン(form要素とinput要素)にname属性を使って名称を付加しています。

前ページでご紹介したように、ボタンを無効化するときは「自分自身のdisabledプロパティ」の値を変更すればよいので「 disabled = (値); 」という短い記述で済みました。 しかし、有効に戻すときは「自分自身のdisabledプロパティ」ではなく「隣のボタンのdisabledプロパティ」の値を変更しなければならないため、「 disabled 」という記述だけでは変更できません。
ここでは、次のように記述します。

document.(フォーム名).(オブジェクト名).disabled = false;

上記のソースでは、フォーム名はform要素のname属性の値ですから「orange」です。 オブジェクト名(=ここではボタン名)はinput要素のname属性の値ですから「apple」です。
したがって、以下のようになります。

document.orange.apple.disabled = false;

このプロパティの値として「false」を指定することで、無効状態を解除することができます。
上記のソースを表示させると、以下のように見えます。

「1回だけクリックできます」ボタンをクリックするとすぐに無効になり、重複してクリックはできなくなります。 しかし、隣の「制限を解除」ボタンをクリックすると、無効状態が解除され、再度クリックできるようになります。

おわりに

今回は、誤って同じ内容を重複して送信してしまうのを防ぐための、「1回クリックすると無効になる」ボタンの作り方をご紹介いたしました。 簡単な記述を加えるだけで実現できますから、ぜひ試してみて下さい。

【関連記事】

1 2
  • 印刷する
  • ブックマークする
  • 携帯に送る
  • ブログに書く

あわせて読みたい

この記事の担当ガイド

写真

西村 文宏

関西大学大学院 総合情報学研究科 博士課程にて情報学を学ぶ傍ら、ホームページに関する書籍の執筆や企業…

続きを読む

住まいには、人の個性がよく現れるもの。同じ空間をどのように使うかで、雰囲気も、快適さも大きく変わってくる。ここでは、「建築家と家を建てる」ガイド の川畑博哉氏が厳選した10軒を紹介し、建築家それぞれのこだわりのポイントを紹介しよう。建築のプロたちが考え出した、マネしたくなるアイデアが満載! さぁ、いますぐチェック!

人気ホームページ作成ランキング

Powered by 価格.com

デジタル関連コミュニティ

北欧好きが、愛用の北欧モノを見せ合うコミュニティ

メルマガ登録

【デジタルメルマガ】オトナのオトコなら知っておきたい、PCやデジモノに関する情報をお届けします。

ショッピングカタログ

All About ウェブマガジン

女性向け

雨が楽しくなる!レイングッズ15

男性向け

マネしたくなるアイデア住宅

All About モバイル

QRコード

All Aboutがケータイで読める!

オススメ記事をメールでチェック

知識・経験を生かして、記事を書いてみませんか?