HTMLのinput type="radio"で、複数のラジオボタンを排他的に1つだけ選べるグループとして扱うために必要な指定はどれですか?
1〜4キーで選択、Enterで回答できます
解説
正解は「すべてのラジオボタンに同じ name 属性値を指定する」です。ラジオボタンの「1つだけ選べる」という排他制御は、name 属性の値が同じものどうしを同一グループとみなすブラウザの仕組みによって実現されます。基本的な書き方<form> <input type="radio" id="plan-free" name="plan" value="free" checked> <label for="plan-free">無料プラン</label> <!-- name が同じなので上と排他になります --> <input type="radio" id="plan-pro" name="plan" value="pro"> <label for="plan-pro">有料プラン</label> </form>送信時にサーバーへ渡るのは plan=pro のように「name=選択された value」の組です。value は選択肢ごとに違う値を書くもので、これを揃えてしまうとどれを選んでも同じ値しか送れません(「すべてのラジオボタンに同じ value 属性値を指定する」が誤りである理由です)。id を揃えると label のクリックが壊れますid は文書内で一意でなければならない識別子で、<label for="..."> と紐付けてラベル文字のクリックで選択できるようにするために使います。値を揃えると最初の要素にしか紐付かず、他のラベルが反応しなくなります。fieldset についても、関連する項目を意味的にまとめて legend で見出しを付ける要素であり、囲むだけでは排他制御は行われません。「1つも選ばれていない」状態は普通に起こりますどの選択肢にも checked を付けなければ、初期状態は全て未選択です未選択のまま送信すると、その name のキー自体がリクエストに含まれません初期値を持たせたいなら checked を、入力必須にしたいなら required をグループ内のいずれか1つに付けますただし required はブラウザ側のチェックにすぎないため、サーバー側でも「値が無い」「想定外の値」を必ず検証してください。参考<input type="radio"> - HTML | MDN