1. ホーム
  2. javascript

[解決済み] <input type="hidden">の本来の目的とは?[クローズド]

2022-12-08 18:56:04

質問

の本来の目的が気になるところです。 <input type="hidden"> タグの本来の目的についてです。

最近ではJavaScriptと一緒に使われることが多く、その中にサーバに送る変数を格納したりします。

そのため <input type="hidden"> が存在する 以前 JavaScript、ではその本来の目的は何だったのでしょうか?サーバーからクライアントへ値を送り、それを(変更せずに)送り返すことで一種の状態を維持することくらいしか想像できないのですが。それとも、私はそれの歴史の中で何かを間違えて、そして <input type="hidden"> は常に JavaScript と一緒に使用されることになっていたのでしょうか?

可能であれば、回答の際に参考文献も示してください。

どのように解決するのですか?

<ブロッククオート

サーバーからクライアントへ値を送り、それを(変更せずに)送り返すことで、一種の状態を維持することしか思いつきません。

その通りです。実際、今日私たちが知っている HTTP は、少なくとも根本的にはまだステートレス プロトコルであるため、この目的のために今日も使用されています。

この使用例は、実は最初に HTML 3.2 で初めて記述されました (HTML 2.0 にそのような記述がなかったのは驚きです)。

type=hidden

これらのフィールドはレンダリングされるべきではなく、サーバーがフォームの状態情報を保存するための手段を提供します。これは、フォームが送信されたときに、対応する属性で定義された名前と値のペアを使用してサーバーに返されます。これは、HTTPのステートレス性を回避する方法です。もう一つの方法は、HTTP の "Cookies" を使用することです。

<input type=hidden name=customerid value="c2415-345-8563">

HTML 3.2 が W3C 勧告になったことは注目に値しますが、その理由は の後に JavaScript が最初にリリースされた後、HTML 3.2 が W3C 勧告になったことを言及する価値はありますが、隠しフィールドがほとんど常に同じ目的を果たしていたと考えてもよいでしょう。