问题标签 [drupal-webform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
design-patterns - 动态表单的设计、存储和检索
自定义动态生成表单背后的设计是什么?
想实现类似drupal的CCK。
在控制面板中,表单的所有者设计表单中应包含哪些字段以及表单字段应以何种顺序排列,以及字段的属性,例如“必填:是/否”
表单设计完成后,最终用户填写并提交。
目前我能够让用户创建自定义表单,问题在于表单内容的存储和检索。
通常,当一个人编写一个表单时,谁的数据存储在数据库中,将表单数据输入数据库所需的代码也会被编写。当表单几乎每次都随着不同的字段而变化时,如何编写这段代码?
基本上,我需要了解允许存储和检索自定义表单的数据库设计,而不管字段的数量或类型。
我不想为每个表单提交都有一个新表,也不想为每个表单手动编写代码。
这些是我需要的主要字段类型
- 文本框
- 选择列表
- 单选按钮
- 清单
- 日期字段
- 文本区
下面是我想出的数据库设计
表格1
id、formid、type、position、name、value、select(foreign)、multiple
id:该记录的唯一 ID,自动
formid:唯一的表单id,特定表单中的所有字段将共享相同的formid
类型:它可以是文本框、选择列表、收音机....
位置:字段是第 1 个、第 2 个还是第 5 个?
name:字段的唯一名称
value:如果是文本框,这里输入默认值。如果字段类型不需要值,则它保持为空。
select(foreign):如果是选择列表框,那么会出现外来的idnumber。
多个:如果您想允许在该列表框中进行多项选择,则该值将为 1 否则将为空
table2 id,选择,值
所以,如果你想要一个选择列表框字段,在table1中,你的类型为selectbox,你将在table2中获得与“select”相关的外键值。
如果要文本区,输入table1就是文本区,如果需要默认值,输入,否则为null
table1 没有所有属性的列表,但你明白了。根据您想要的字段类型,确定您需要填写的属性。如果该属性需要存储额外的数据,例如选择列表框,则简单地做一个关系,就像在 table2 中所做的那样
为了呈现表单,系统解释数据库中的数据并相应地创建字段。
到目前为止一切都很好,但是,当字段总是在变化时,如何将数据存储在数据库中?
存储此类数据需要什么样的数据库设计?
以上是动态生成表单的正确方法吗?
templates - Webform 的 Drupal 节点模板
我正在尝试为我的 webform 节点提供一个可读的名称,以便于查找和编辑。我可以使用我创建的名为“webform-form-12.tpl.php”的模板和主题,但我想使用类似“node-webform-form-athlete-of-the-month_submit-your-”的东西运动员.tpl.php”。我给这个网络表单的路径是“每月运动员/提交你的运动员”。它不适用于我尝试过的任何名称。我正在使用节点预处理函数来添加模板文件名。到目前为止,我已经尝试过这些: node-webform-athlete-of-the-month_submit-your-athlete.tpl.php node-webform-form-athlete-of-the-month_submit-your-athlete.tpl.php 这个:“node-athlete-of-the-month_submit-your-athlete.tpl.php”使用模板,但表格不存在。
jquery - 使用 Drupal 中的 webform 模块将标准文本输入更改为 jquery 日历弹出窗口?
我在 Drupal 中有一个使用 webform 模块创建的简单预订表格。我想将日期/时间字段从 texboxes 更改为日历弹出窗口。这可以做到吗?
email - Drupal Webform 电子邮件收据
我正在尝试设置电子邮件收据以发送给填写表格的用户。我正在使用 Webform 6.x-3.1。在此 Web 表单“admin/help/webform”的帮助页面上,它通过说明“一旦完成添加字段,您可能希望向管理员发送电子邮件或返回给填写表单的用户发送电子邮件来暗示该功能。单击内容的 Webform 选项卡下方的 Emails 子选项卡。” 看来他们在这个版本中去掉了“附加处理”能力。
我尝试在“电子邮件”选项卡下添加一个隐藏的电子邮件字段以向表单提交者发送电子邮件,但没有奏效。我要添加一个名为“email_user”的隐藏字段,并为默认值赋予它 %post[email] 因为他们填写的电子邮件字段是“email”。它看起来不像是在抢帖子。
有没有人有这个工作或了解如何完成它?
html - drupal Webform HTML 电子邮件挂钩
我正在尝试向以 HTML 格式提交表单的用户发送一封感谢邮件。我发现通过在我的 template.php 文件中使用一个钩子来正确设置标题:
这适用于“谢谢”电子邮件。站点管理员收到的包含表单结果的电子邮件也是 html,但它不会将换行符转换为此电子邮件中的换行符。我不知道如何为此使用钩子,所以我不得不编辑 webform.module 文件并执行此操作:
这可以通过 template.php 中的钩子来完成吗?
select - drupal Webform 选择列表空第一个值
我需要我的选择列表有一个空值的默认选项,或者没有值的“选择”。我在文档中没有看到任何关于如何做到这一点的提及。// $Id: webform.module,v 1.196.2.47 2010/08/16 17:54:19 quicksketch Exp $
validation - 网络表单验证 Drupal
我希望通过 Drupal 使用 webform 添加一些特殊的验证。似乎旧表单可以在“高级设置”中添加额外的 PHP 代码。根据这个链接,我们不应该再这样做了。(运行 Drupal 6)
我所拥有的是一个复选框,它使一些字段消失并出现一些不同的字段。因此,对于我的验证,我只需要验证“存在”的字段,具体取决于复选框是否被选中。(使用 JQuery 使它们消失/重新出现)。最后一步是更改验证码。
我查看了 webform 验证模块,但它似乎没有满足我的需要,因为我无法基于复选框指定特定字段。
我该怎么做呢?
select - 无法更改 drupal Web 表单中选择元素的选项
我是drupal的新手。我创建了包含少量元素和两个选择框的 Web 表单。一切顺利。那是上周。
现在,我想更改值,奇怪的是我在表单组件页面的任何地方都看不到值列表。我什至看不到如何创建一个新的选择框并提供新的选项。我想我杀死了一些对此负责的模块。我不确定。
如果有帮助,已安装 FCKEditor。
validation - Drupal 网络表单验证 (webform_form_alter)
我正在使用 webform_form_alter 进行一些 webform 验证。我正在使用 webform_form_alter,因为我在“选择”字段上切换了某些内容。
在我的 webform-form-317.tpl.php 中,我定义了新的字段集,我将我的字段设置到这个新的字段集中,并从 webform 中取消设置原始字段。
在我的 webform_form_alter 我有以下代码:
我的 Validate_form 函数如下所示:
问题是 $form_values['submitted_tree']['ContactInfo']['phone_home'] 回来了,因为即使用户在文本字段中输入了什么也没有。
关于我做错了什么的任何建议?
作为第二个问题,如果有人也回答,我如何修改这些文本字段以设置“表单文本所需错误”的类,以便它们与其余必填字段一起显示为红色。
谢谢
java - 使用 Drupal + 内容构建工具包创建灵活的 Web 表单 - 用于 Java
我正在为 Drupal 寻找与 Content Construction Kit + 贡献字段等效的 Java。我会满足于几乎所有可以在 Tomcat 上运行的视图技术。
以下功能对我很重要:
- 指定表单字段类型、ID 和标签
- 字段的任意排序
- 指定表单 URL 和方法
- 根据字段类型/正则表达式进行验证
- 轻松编写代码以创建新的字段类型
数据将更多地用于查询而不是显示 - 更多地考虑“事件注册表”而不是“博客文章”。
免责声明:我有点确定这样的事情不存在。我想确认我是对的,以便我可以告诉我的老板聘请一些 PHP 开发人员。