私の例では、値は常に整数になります。ユーザーはフィールドの値を変更する必要はありません。
<input type="hidden" value="14" name="user_id" readonly/>
<input type="number" value="14" name="user_id" class="hidden" readonly/>
HTMLでフィールドを非表示にする唯一の方法は、を使用することtype="hidden"
です。HTML5機能に惑わされた可能性がありますtype="number"
。プログラミングの型付き変数やデータ形式のフィールドの型とは実際には比較できません。代わりに、数値データの入力に適した専用のユーザーインターフェイスを作成することを目的としています(スピンボックスなど、場合によっては数値の入力も可能です)。ここでユーザー入力を期待したり許可したりしないので、これは無意味です。
この本によると、正解は<input type="hidden" etc... />
、ユーザーエージェントがそのようなフィールドとの対話方法に関するルールをすでに持っているためです。
CSSであるかどうかに関係なく、フィールドは表示されず、アクセシビリティなどに適しています。ユーザーが非表示のフィールドを操作する方法はありません(javascriptまたはコードをローカルで編集する場合を除く)。私はまだ値を検証します。
JavaScriptまたはCSSを使用すると、どちらも(比較的)知識のあるユーザーが同じようにアクセスできるため、少しでも問題にならないというのが私の意見です。ただし、個人的な好みとして、私は常にを使用type="hidden"
します。これは、それが作成された目的であるように思われるためです。
ただし、どちらかを選択し、そのアプローチを一貫して使用することをお勧めしますが、これは実際には、純粋な個人的な好みの問題です。