HTML表单中输入标签的最大数量是多少?

5
8个回答

41

PHP用户注意:

如果您使用php处理表单,请注意php ini文件中有一个max_input_vars设置,我认为默认值为1000。

在构建cakephp应用程序时我遇到了这个问题。要查看是否影响您的提交,请计算您将放入表单中的数据行数,然后计算实际提交回来的数据行数。

因此,您的表单将受限于您的输入变量数量。

这并不是对OP的直接答案,但我认为它对于任何正在寻找输入字段限制的人都会很有帮助。


5
据我所知,在HTML文档中,表单元素(包括等)的数量没有上限。
但是,如果您在页面上有大量的表单元素,则可能会导致POST请求过大,无法被Web服务器处理(POST请求的最大大小取决于服务器配置)。

4
我认为规范并没有规定表单中input元素的最大数量,如果这是你想要了解的内容。如果你有很多输入框并且想确保表单正常工作,你需要在支持的客户端上进行测试。当然,如果可能的话,重新设计表单会更好。

2

我认为标准中没有输入字段数量的限制。

但是,有两个实际限制需要考虑:

  • 如果页面上有太多输入字段,一些浏览器会开始出现问题。我没有尝试最新版本,但我记得几年前测试时发现,当字段数量接近100时,Internet Explorer表现不佳。

  • 页面上有太多输入字段只会让用户感到不便和有点害怕。将输入拆分为几个页面,或者显示占位符并仅在实际使用时动态添加输入字段。


1

从技术上讲,页面上可以放置的输入字段数量没有最大限制。但实际上,如果一个网页有大量的输入字段,对于用户来说使用/查看所有的输入字段会有些不方便。


1
我曾在旧应用程序中遇到类似的问题。我认为这可能是HTML输入元素数量或PHP ini配置的限制,例如max_input_vars
但是经过更深入的调查,发现生产机器上安装了Suhosin,它将PHP.ini配置值覆盖为更低的限制。 suhosin.post.max_vars = 400

0
请注意,我们无法使用ini_set函数在运行时设置max_input_vars指令。我们可以直接在php.ini文件中更改它。
; How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 2000

不要忘记重新启动 Web 服务器。有时我们需要重新启动服务器才能生效。


0

我也遇到了这个问题。我自动创建了几百行的输入,但只发送了其中的一半变量。我使用print_r和Vars_Dump进行了检查,如果我只创建20行,就没有任何问题。有一个变量发送的限制。max_input_vars默认限制为1000。我联系了我的托管提供商,他们相应地更改了php.ini


这并没有为问题提供答案。当您拥有足够的声望时,您将能够评论任何帖子;相反,请提供不需要询问者澄清的答案。- 来自审核 - Ferris
@Ferris 我在哪里没有提供答案?我的回答很清楚,问题通常需要由服务器管理员/托管公司进行修复。我曾经遇到过完全相同的问题,这就是我用来解决它的方法。 - Asher Sommer
抱歉出现了不一致的地方。您的答案已被stackoverflow标记为需要修订(晚回答)。进行审核有时候可能会有些基于个人意见的因素。因此,在问题已经有一个被接受的答案之后,晚回答应该添加价值或者显著改进现有的答案。换句话说,OP的问题是 - max_input_vars是否有一个“最大”的最大值?但是您的答案展示了如何增加限制(更改默认值)。所以我认为留下评论会更好。然而,您的答案仍将由其他人进行审核。 ;) - Ferris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接