我有一个页面,在表单中有一个下拉列表。下拉列表包含广告的“类别”。
根据下拉列表中选择的值,我使用javascript在页面上显示/隐藏DIVS
,其中包含不同的form inputs
供用户填写。
所有这些仍然在表格内!
现在,当用户填写“SHOWN DIV”内的所有form inputs
并点击“提交”时,另一个form inputs
仍然“未填充”。
我的问题是,这些“未填充”的输入是否会减慢速度?
是否需要在disabled
内制作它们(表单输入)not visible
而不只是hidden DIV
?
由于
答案 0 :(得分:1)
我想这取决于你减速的意思?如果你的意思是在发布时处理表单数据,那么不,它没有。如果您的意思是在浏览器中呈现页面,那么答案就是“可能”。
在执行显示它们的代码之前,实际上并未在页面上绘制隐藏在div中的输入。此时,他们将自己绘制,并且根据用户系统或浏览器的渲染引擎的速度,它可能会很慢或很快。
一般来说,不,你不必担心这方面的表现。您可以将它们隐藏在div中,但不会产生任何不良后果。
答案 1 :(得分:1)
将所有其他表单标记发送给用户所需的带宽(无论它们是否可见)实际上是您的应用程序放慢速度的唯一点。当用户提交表单时,仅发送当前表单的字段数据,因此简单地忽略所有其他未使用的字段。
除非您的页面包含大量额外标记以包含其他表单字段,否则您可能不必担心将它们包含在呈现的HTML中。
答案 2 :(得分:0)
您无需禁用其他表单的字段,因为它们不会被提交。多个表单不会比其他标记慢。在页面中有10个表单与其他内容的数量相同,速度相同。
如果您担心性能问题,您是否考虑过更改一个div的内容,而不是每个选项都有一个div?这样可以大大减少表单的数量。并不是说这很重要 - 可能只对那些需要下载额外内容的慢速连接的用户而言。
答案 3 :(得分:0)
Firebug net panel或HttpWatch可以告诉您随请求发送的postdata的大小。它可能不是一个很大的性能影响,但比较postdata的大小和隐藏的表单字段注释到当前大小,以查看添加了多少字节。