【HTML】fieldsetタグとlegendタグでformのグループとキャプションを定義

fieldsetタグとlegendタグHTML
書いてる人
あいりゅー

プログラミングを学びながら更新しています。
iPhone/iPad/Mac/Apple WatchなどのApple製品はこちらで主に更新しています。
麻雀の反省をひたすら掲載してるブログもやってます。

あいりゅーをフォローする

このページについて

このページではHTMLで使えるfieldsetとlegendの使い方を解説しています。

fieldsetタグ

fieldsetはformタグの中で使用し、そのフォームに関連する部品を1つのグループとして定義する時に使用します。

そしてデフォルトで、fieldsetで囲んだ部分の外側にボックスが描画されます。

legendタグ

legendはfieldsetで囲んだ(定義した)グループのキャプションを定義する機能を持っています。キャプションとは簡単に言えば「見出し」みたいなものです。つまりは「グループ化したフォームの見出しを書く」ためのタグとなります。

fieldsetタグとlegendタグの書き方

今回解説する2つのタグはformタグの中で使用します。そして書く順番としてはfieldset→legendの順番です。

<form>

<fieldset>

<legend>フォームの見出し</legend>

//フォーム用のinputタグやらbuttonタグやらが入る

</fieldset>

</form>

こんな感じでフォームの中身をグループ化するためにまずfieldsetを使用し、その中でlegendを使用するという順番になります。

実際に上のコードをブラウザで実行してみるとこうなります。

フォームの見出し

//フォーム用のinputタグやらbuttonタグやらが入る

それぞれソースコードと見比べてみるとどこがどうなっているかが分かり易いと思います。

フォームの見出しとなっているのが、legendです。そこから生えている線全てが、fieldsetとなります。

fieldsetタグで使える属性

fieldsetで使える属性は以下のものと、グローバル属性・イベント属性です。

disabledグループ化を無効にします。
formfieldsetがどこのformタグに属するのかを指定します(formのid)
namefieldsetの名前をセットします。

disabled属性を使うと、fieldsetで囲んだform部品が全て無効化されます。入力できず、ボタンもクリック不可となります。JavaScriptでdisabledの状態を操作すればその辺りは簡単に操ることができます。

<form id="f1">
<fieldset id="fieldset1">
<legend>テスト用フォーム</legend>
<label>name:<input type="text"></label>
</fieldset>
</form>

<button type="button" onclick="chfs()">切り替え</button>

<script>
function chfs(){
let fs = document.getElementById('fieldset1').disabled;
if (fs==true) {
 document.getElementById('fieldset1').disabled = false;
}else{
 document.getElementById('fieldset1').disabled = true;
}
}
</script>

こんな感じのフォーム・fieldset・関数があったとします。初期状態ではfieldsetにdisabledが付与されていないので、ユーザーは入力が可能となっています。逆にボタンを押すとJavaScriptで関数が処理され、disabledが付与されます。

テスト用フォーム


実際にやってみると入力ができなくなるのがわかると思います。

legendタグで使える属性

legendはfieldsetとは異なり、固有の属性はありません。グローバル属性・イベント属性のどちらもサポートしています。

まとめ

fieldsetはformタグの部品を1つのグループとして定義する機能を持ち、legendはそのグループのキャプションを定義する機能を持っています。CSS不要でフォームに線が描画されたりと分かりやすくなるので、なるべくなら設定しておくとユーザーがわかりやすいフォームが出来上がるかもしれません。

HTMLの基礎
HTMLってどんな言語?書き方やHTMLファイルの作成方法などを解説。
HTMLタグで押さえておきたいポイント3選
HTMLタグを使う上で必ず押さえておいてほしいポイント3つの解説です。
HTMLタグと属性一覧
HTMLタグと属性の一覧です。
tableタグ生成ページ
tableタグの基本形を生成できるページです。
ulタグ・olタグ生成ページ
ulタグolタグの基本形を生成できるページです。
タイトルとURLをコピーしました