所以,我正在构建一个表单,我的用户可以根据他们的需求进行自定义,然后接受来自他们客户的响应。您可以将其视为Google文档表单(我可以登录并制作任意大小的表单,包含大量动态字段)。
创建它的典型方法是什么?是否有PHP库擅长这样做?截至目前,我的计划只是考虑他们想要的每个领域,并将布尔逻辑与该用户的该领域相关联。换句话说,假设这些是可以使用的所有可能字段:
对于我的任何用户,每个用户都可以“打开”或“关闭”,以便它(或不显示)显示并用于他们的客户。这似乎是一种非常耗费工作量的方法,我想知道让它们创建一个完全动态的表单是否更有意义。但话说回来,这对我来说听起来更多......
所以问题 - 我的逻辑是否合理,以及人们会对此编码的标准方式?为什么/为什么不呢?是否有可用的库可以自定义到我的WebApp中以允许完全动态创建表单?
全部谢谢!
答案 0 :(得分:1)
你想要这样的http://code.google.com/p/jquery-form-builder-plugin/吗?它是一个JQuery Form Builder插件,独立于服务器端技术。
答案 1 :(得分:1)
我们之前已将此构建为内部项目以用于我们自己的目的。好事也是因为它比我们想要的要复杂得多。我们采用了自定义解决方案,因为当时我们没有看到任何基本上可以做的选项:本地存储和高度可定制。我们可能已经发现了一些接近的东西 - 我不记得确切 - 但我要解决的问题部分是你的逻辑是否合理,而且如果有现有的库则不一定。
我强烈建议你不要想到他们想要的每个领域。你会将自己锁定在一个结构化的包中,这个包很难维护。提取这是唯一的方法。
我们这样做,因此每个表单都是表单表中的一个条目。很简单。表单名称,客户端ID,状态(活动/禁用)等。
当然,每个字段都在一个关系表中,该关系表键入表单ID。此条目存储标签,id,类型(选择,多选,广播,文本,文本区域),必需(bool),订单,活动或禁用,选项(如启用tinymce等)等。
然后,如果适用,每个字段都有多对一的选项关系表。对于下拉菜单,单选按钮等
这最初并不是非常复杂,但是当你开始改进事物 - 或者甚至想把事情分成页面时 - 它变得越来越糟。
点是 - 抽象它。最后你会更开心。