<fieldset>タグは、フォームグループを表す際に使用します。
fieldset要素は、その子孫要素としてフォームコントロールやその他のコンテンツを配置することで、これらをグループ化します。
必要に応じて、fieldset要素にキャプションを付けることができます。
フォームグループのキャプションは、fieldset要素の最初の子要素となるlegend要素で指定します。
fieldset要素の子孫要素は、最初のlegend要素がキャプションを表し、残りの要素がフォームグループとなります。
fieldset要素にdisabled属性を指定すると、fieldset要素の子孫要素として配置された
すべてのフォームコントロールが無効になります。
ただし、fieldset要素の最初の子要素となるlegend要素(存在する場合)を除きます。
以下のサンプルは、fieldset要素を使用して、関連するフォームコントロールをグループ化しています。
<fieldset>
<legend>ディスプレイ設定</legend>
<p><label><input type=radio name=c value=0 checked> 白地に黒</label></p>
<p><label><input type=radio name=c value=1> 黒地に白</label></p>
<p><label><input type=checkbox name=g> グレースケールを使用する</label></p>
<p>
<label>コントラストを強調する
<input type=range name=e list=contrast min=0 max=100 value=0 step=1>
</label>
<datalist id=contrast>
<option label=普通 value=0>
<option label=最大 value=100>
</datalist>
</p>
</fieldset>
以下のサンプルは、legend要素内のチェックボックスでfieldset要素を有効にするかどうかを制御しています。
<form>
<fieldset name="clubcard1" disabled>
<legend>
<label>
<input type=checkbox name=club onchange="form.clubcard1.disabled = !checked">
クラブカードを利用します
</label>
</legend>
<p><label>カード番号: <input name=clubnum required pattern="[-0-9]+"></label></p>
<p><label>登録氏名: <input name=clubname required></label></p>
<p><label>有効期限: <input name=clubexp type=month></label></p>
</fieldset>
</form>
以下のサンプルは、fieldset要素をネストして使用しています。
この使用例では、外側の「クラブカードを利用します」がチェックされていない場合、その内側にあるすべてのコントロールが無効になります。
「クラブカードを利用します」がチェックされている場合、
ラジオボタンが2つとも有効になって、
ネストされた2つのfieldset要素のどちらを有効にするかを選択できるようになります。
<form>
<fieldset name="clubcard2" disabled>
<legend>
<label>
<input type=checkbox name=club onchange="form.clubcard2.disabled = !checked">
クラブカードを利用します
</label>
</legend>
<p><label>登録氏名: <input name=clubname required></label></p>
<fieldset name="numfields">
<legend> <label>
<input type=radio checked name=clubtype onchange="form.numfields.disabled = !checked">
私のカードには番号があります
</label> </legend>
<p><label>カード番号: <input name=clubnum required pattern="[-0-9]+"></label></p>
</fieldset>
<fieldset name="letfields" disabled>
<legend> <label>
<input type=radio name=clubtype onchange="form.letfields.disabled = !checked">
私のカードには文字があります
</label> </legend>
<p><label>会員コード: <input name=clublet required pattern="[A-Za-z]+"></label></p>
</fieldset>
</fieldset>
</form>