HTML 表单中隐藏字段的限制


Limit for Hidden Fields in HTML Form

<input type="hidden" value="Is there any limit that how many Hidden Fields ? "/>

HTML 表单中可以使用的隐藏字段数量是否有任何限制?如果是,您能否详细说明原因..?

谢谢。。!

表单中隐藏字段的数量有"NO"限制..!

但是,当您尝试 POST 时,所有隐藏字段的值和正常值不应超过 php 中定义的post_max_size.ini

No.只要每个字段都有一个唯一的名称,您就可以根据需要使用尽可能多的字段:

<input type="hidden" name="must-be-unique" value="Some value"/>

编辑:唯一名称规则有一个例外。对于单选按钮或您希望将数据作为数组传递的任何内容,您可以对多个输入使用相同的名称。

实际上有一些

PHP参数可以控制/影响输入$_POST和$_GET数据的处理。

这些是

max_input_vars = ??   // default is 1000, the number of fields php will process
max_input_time = ??   // maximum time in seconds a script is allowed to parse input data, like POST and GET
post_max_size = ??    // Sets max size of post data allowed.

这些与"隐藏"字段并不特别相关,而是与字段总数或缓冲区大小相关。如果您的隐藏字段是表单上定义的最后一个字段,并且字段的数量或 POST 缓冲区的大小很大,则 php 会在达到限制时停止处理。但是,您应该至少在php error log中看到一个警告,说发生了这样的事情。

如果您使用 JS 动态生成隐藏字段,例如您可以限制,否则您无法控制并且拥有许多字段可能会使您的页面性能不佳您可以使用JS进行定期检查以计算隐藏字段,并且可以根据您的实现删除最后添加的字段你也可以在HTML中有N个同名的元素,但在PHP中我不知道你是否会面临限制

function checkDOMChange()
{
    // check for any new element being inserted here,
    // or a particular node being modified
    // call the function again after 100 milliseconds
    setTimeout( checkDOMChange, 100 );
}

某些浏览器(例如:Netscape,IE)对隐藏字段内容大小有限制,但对字段计数没有限制。在这些情况下,快速浏览是将内容划分为多个隐藏字段。