首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态表单生成

动态表单生成
EN

Drupal用户
提问于 2013-07-17 21:37:55
回答 1查看 344关注 0票数 0

我需要创建一个网络表单,作为技能清单。用户将从下拉列表中选择一个“专业”,并在此基础上向用户显示一个列表(多达50个无线电选项)。我正试图从性能和可维护性方面找出实现这一目标的最佳方法。

1)我可以将技能列表写成一个巨大的单一形式,然后使用jQuery来显示和隐藏基于下拉选择的元素。但是,这可能会导致很长的页面加载时间,因为表单中可能有超过1000个字段。

2)可以在较早的时候收集“专业”信息,然后在运行时加载它,并在此基础上对数据库中需要的所有字段运行另一个查询,并在foreach循环中构建表单。这意味着将有超过30个查询的表单和一个极其复杂的提交处理程序,将所有输入的数据插入数据库。

对实现这一目标的最佳方法有什么想法吗?这是一个具有许多不同部分的大型web应用程序的一部分,性能和可维护性是一个非常重要的考虑因素。

谢谢

EN

回答 1

Drupal用户

发布于 2013-07-17 22:22:30

您知道网形现在支持现在合并的网形条件模块中的conditional表单项吗?

然后,您可以像任何drupal一样管理此表单,并根据选择规则显示/隐藏表单的子部分。如果您的表单非常好,那么条件页面/逻辑设置就会变得非常麻烦和麻烦。

如果您想自己在php code中这样做,我建议您使用这个使用基于工具的多步表单的教程。我使用本机drupal节点表单制作了多步表单--只是步进逻辑非常丑陋。这是明确和精确的使用多步ctools表单。

您甚至可以在usig #states表单的1页上显示/隐藏我相信的内容。由Shane提供的说明#states的教程在这篇博客文章中。还可以在d.stackexchange:触发#状态的多个值上查看表单中更复杂的异或类型逻辑。

票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/79608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档