HTMLの入力項目INPUTタグのtype=”hidden”はどんな場合に使うか?
記事内に商品プロモーションを含む場合があります
HTMLの入力項目としてよく使われるINPUTタグで、type=”hidden”としているものが見られることがあります。
今回はこのtype=”hidden”とした場合、どんな性質の入力項目となるか、またどんな使い方が出来るかを説明します。
まずは実際に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”とした場合は、便利な使い方が出来るからです。
type=”hidden”とした入力項目は画面には表示されていませんが、項目自体は存在しています。
そのため、JavaScriptによる値の取得や設定が可能です。
値の参照のみで、特に画面に表示する必要がない場合はtype=”hidden”として、入力項目を設定することがあります。
また、type=”hidden”とした入力項目ですが、これは入力項目をdisabledに設定した場合とは異なり、<form></form>タグ内に入れておけば、formの中身をsubmitで送信した場合、type=”hidden”とした入力項目の内容もプログラム(JAVAやPHPなど)に送信されます。
この性質を利用する場合、以下のようにフォームを作成してフォーム1からフォーム3に遷移することが出来ます。

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

このブログを管理しているtakaと申します。
このブログは自分がSEとして働きながら得た知識や学習した知識を備忘録として書くことで自分の学習として役立てるとともに、検索エンジンを利用して調べてこのサイトが出てきた場合の手助けとなるために運用しています。
主な内容はプログラミングとITの基礎知識ですが、必要に応じて他のことも書くかもしれません。
以下のお金と心に関するサイトも運用しています。
宜しければ一緒に見て頂けると幸いです。