※当サイトではアフィリエイト広告を利用しています

HTML / CSS

【HTMLフォーム】ラジオボタンの作り方

【フォーム】ラジオボタンの作りかた

今回はお問い合わせフォームなどで見られる、
ラジオボタンの作り方をまとめてみたいと思います。

こんなかんじのサンプルを作ってみました。

See the Pen
OJMvYPQ
by notebook (@orange-notebook)
on CodePen.

質問に対してラジオボタンが4つ並んでいて、1つしか選択できないようになっています。
また果物の名前をクリックすると、該当するラジオボタンが選択されます。

では作り方をみていきましょう。

ラジオボタンの作りかた

1:必要なタグ

ラジオボタンを作るには以下の2つのタグが必要です。

  • inputタグ
  • labelタグ

inputタグには閉じタグがありません。

またinputタグとlabelタグには必要な属性がいくつかあるので、
もう少し詳しくみていきたいと思います。

<div class="container">
  <form action="">
    <p>1番好きな果物を選んでください。</p>
    <div>
       <input
            type="radio"
            name="fruit"
            id="banana"
            value="banana"
        />
        <label for="banana">バナナ</label>
    </div>
    <div>
        <input
            type="radio"
            name="fruit"
            id="orange"
            value="orange"
        />
        <label for="orange">オレンジ</label>
     </div>
     <div>
        <input
            type="radio"
            name="fruit"
            id="strawberry"
            value="strawberry"
        />
        <label for="strawberry">いちご</label>
      </div>
      <div>
         <input 
             type="radio"
             name="fruit"
             id="grape"
             value="grape"
          />
          <label for="grape">ぶどう</label>
       </div>
    </form>
</div>

 

2:inputタグに必要な属性

inputタグに必要な属性は以下の4つです。

  • type属性(type=”radio”)
    ラジオボタンにするための属性。inputタグのtype属性は種類が多様。
  • name属性
    実際にデータが送信されたときに、なんの項目なのか識別するための属性。
    選択肢の間で共通させる必要がある。
  • id属性
    後述の labelタグと関連付けをさせるための属性。
  • value属性
    実際にデータが送信されたときに、選択されたラジオボタンの内容を識別するための属性。

今回はデモの選択肢となっているバナナを例にみていきたいと思います。

<input type="radio" name="fruit" id="banana" value="banana">
  • type=”radio”
  • name=”fruit”
  • id=”banana”
  • value=”banana”

重要な点として、name属性は回答の選択肢の中で共通させる必要があります。

今回の場合、1番好きな果物はという問いなので、name属性は「fruit」としています。
この属性はバナナだけではなく、オレンジ、いちご、ぶどうでも共通です。

name属性を共通にしておかないと、ラジオボタンをクリックしたときに選択できるボタンが複数になってしまいます。
これだと、ラジオボタンにした意味がなくなってしまいますよね。

またvalue属性を設定しておかないと、いずれかのラジオボタンが選択されていたとしても
なんの項目が選択されたのかデータが残らないので、属性の設定が必須になります。

3:labelタグに必要な属性

labelタグには以下の属性が必要です。

for属性
inputタグと関連付けさせるための属性

for属性はinputタグのid属性と同じ値にすることが必要です。
バナナの項目のHTMLでは以下のようになっています。

<label for="banana">バナナ</label>

属性を「for=”banana”」とすることで、バナナの文字部分をクリックしたとき
対となるバナナのラジオボタンが選択状態になります。

これで基本的なラジオボタンの完成です。

最後までお読みいただき、ありがとうございました。

参考:MDN web docs HTML <input type=”radio”>

【フォーム】セレクトボックスの作りかた
【HTMLフォーム】セレクトボックスの作り方今回はお問い合わせフォームなどにあるセレクトボックスの作りかたについてまとめてみたいと思います。...
フォーム】チェックボックスの作りかた
【HTMLフォーム】チェックボックスの作り方今回はお問い合わせフォームなどにあるチェックボックスの作りかたについてまとめてみたいと思います。...