基礎知識 広告

HTMLの入力項目INPUTタグのtype=”hidden”はどんな場合に使うか?

記事内に商品プロモーションを含む場合があります

HTMLの入力項目としてよく使われるINPUTタグで、type=”hidden”としているものが見られることがあります。

今回はこのtype=”hidden”とした場合、どんな性質の入力項目となるか、またどんな使い方が出来るかを説明します。

実際にHTMLを書いてみる

まずは実際にHTMLを書いて表示結果を見てみましょう。

上に通常のテキストボックス、下にtype=”hidden”とした入力項目を記述してみます。

<!DOCTYPE html>
<html>
    <head>

    </head>
    <body>
        <table>
            <tr>
                <td>
                    テキスト入力ボックス
                </td>
                <td>
                    <input type="text" id="id1" name="name1" value="6"/>
                </td>
            </tr>
            <tr>
                <td>
                    Hidden入力ボックス
                </td>
                <td>
                    <input type="hidden" id="id2" name="name2" value="6"/>
                </td>
            </tr>

        </table>

    </body>
</html>

このソースを実行した時の表示結果は以下のようになります。

type="hidden"の表示結果

type=”hidden”とした方の入力項目には何も表示されていません。

type=”hidden”とすると、まずは入力項目が非表示になるという解釈で良いでしょう。

INPUTタグでtype=”hidden”を設定する入力項目の使い方について

では、なぜこんな何も表示しない入力項目が存在しているのかというと、入力項目でtype=hidden”とした場合は、便利な使い方が出来るからです。

type=”hidden”とした入力項目は画面には表示されていませんが、項目自体は存在しています。

そのため、JavaScriptによる値の取得や設定が可能です。

値の参照のみで、特に画面に表示する必要がない場合はtype=”hidden”として、入力項目を設定することがあります。


また、type=”hidden”とした入力項目ですが、これは入力項目をdisabledに設定した場合とは異なり、<form></form>タグ内に入れておけば、formの中身をsubmitで送信した場合、type=”hidden”とした入力項目の内容もプログラム(JAVAやPHPなど)に送信されます

この性質を利用する場合、以下のようにフォームを作成してフォーム1からフォーム3に遷移することが出来ます。

画面遷移を想定したtype="hidden"の使い方

上の図はフォーム1とフォーム2で入力をし、フォーム3に入力結果を一覧表示するというものです。

フォーム1で入力1~入力3を入力するのですが、その次のフォーム2ではこれらの項目を表示する必要はないため、type=”hidden”の入力項目で入力内容を保持して表示しないようにしておきます。

そして、フォーム2からフォーム3に遷移すると、フォーム2で入力した入力4と入力5、そしてtype=”hidden”の入力項目で入力を保持していた入力1~入力3の情報を表示し、すべての入力した内容を一覧で表示できます。

この使い方はWebアプリの制作現場ではかなり見かけますね。

実際にはフォーム3を確認画面として作成し、登録するために入力1~入力5の内容をフォーム3にもtype=”hidden”の入力項目を配置してsubmitで送信するパターンが結構あります。

まとめ

今回はINPUTの入力項目でtype=”hidden”とした場合どんな特徴があるかについてお話ししました。

覚えていただきたいのは以下の3点です。

  1. 画面に表示されなくなる
  2. 項目自体は存在するのでJavaScriptにより値を取得したり、値を設定できたりする
  3. formタグ内に記述すると、submitでプログラム送信が出来る

Webアプリの開発の現場では、この特徴をうまく活かして画面の遷移によるフォームの表示などを行うケースが多く、今回説明した3つの特徴をしっかり覚えてtype=”hidden”の入力項目を有効活用していただきたいと思います。

今回の記事はここまでとなります。
また次回の記事でお会いしましょう。