我在 w3c html 严格规范http://www.w3.org/TR/html4/sgml/dtd.html中找不到任何信息
7 回答
PHP 用户:
如果您使用 php 处理表单,请注意 php在 php ini 文件中有一个max_input_vars设置。我相信默认值是 1000。
我在构建 cakephp 应用程序时遇到了这个问题。要查看这是否会影响您的帖子,请计算您在表单中输入的数据行数,然后计算实际回发的行数。
因此,基本上您的表单将受到您拥有的输入变量数量的限制。
这并不是对 OP 的直接回答,但我认为这对任何搜索输入字段限制的人都会有所帮助。
input
如果您要问的话,我认为规范给出的表格中没有最大数量的元素。如果您有很多输入并希望确保表单有效,则必须尝试您支持的客户端。当然,如果可能的话,重新设计表格会更好。
<input>
据我所知, HTML 文档中表单元素(或其他)的数量没有上限。
但是,如果您的页面上有大量表单元素,您最终可能会收到一个太大而无法由 Web 服务器处理的 POST 请求(POST 请求的最大大小取决于服务器配置)。
我认为标准中未输入字段的数量没有限制。
您需要考虑两个实际限制:
如果页面上的输入字段过多,某些浏览器就会开始行动。我没有在最近的版本中尝试过这个,但我记得几年前测试过这个,然后我发现当字段数量接近一百时,Internet Explorer 的行为很糟糕。
页面上太多的输入字段对用户来说只是不方便,而且可能有点吓人。在多个页面上拆分输入,或显示占位符并仅在实际使用的地方动态添加输入字段。
从技术上讲,没有最大数量的输入字段可以放在一个页面上。实际上,对于用户而言,如果网页具有大量输入字段,则用户使用/查看所有输入字段有点不方便。
我在旧应用程序中遇到了类似的问题。我认为这是对max_input_vars的 HTML 输入元素或 PHP ini 配置数量的限制。
但经过更多调查,事实证明是Suhosin安装在我的生产机器上,它以低得多的限制覆盖了 PHP.ini 配置值。
suhosin.post.max_vars = 400
请注意,我们不能在运行时使用函数 ini_set 设置此 max_input_vars 指令。我们可以直接在 php.ini 文件中更改它。
; How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 2000
不要忘记重新启动 Web 服务器。有时我们需要重启服务器才能生效。