在我的示例中,该值将始终为整数。不希望用户更改该字段的值。
<input type="hidden" value="14" name="user_id" readonly/>
<input type="number" value="14" name="user_id" class="hidden" readonly/>
从书上看,正确的答案是<input type="hidden" etc... />
因为用户代理已经有了如何与这些字段交互的规则。
无论是否使用 CSS,您的字段都不会显示,并且对于可访问性等更好。用户无法与隐藏字段进行交互(javascript 或在本地编辑代码除外)。我仍然会验证该值。
使字段隐藏在 HTML中的唯一方法是使用type="hidden"
. 您可能被 HTML5 功能误导了type="number"
。它不能与编程中的类型变量或数据格式中的字段类型真正相提并论。相反,它旨在创建适合输入数字数据的专用用户界面(例如旋转框,可能仍允许键入数字)。这将毫无意义,因为您不期望甚至不允许用户在此处输入。
我真的认为这一点都不重要,因为使用 JavaScript 或 CSS,(相对)知识渊博的用户都可以访问它们。但是,作为个人喜好,我总是使用type="hidden"
,因为这似乎是它的创建目的。
不过,我建议您选择您喜欢的任何一种,然后始终如一地使用该方法,但这实际上是一个纯粹个人喜好的问题。