低代码研发:Formidable Forms-字段选项:默认值和占位符

发布于 2021-11-18 16:16 ,所属分类:软件编程学习资料

很多时候在表单字段中使用默认值或占位符很方便。Formidable Forms 允许两种类型的默认值:

  • 标准默认值:这些默认值将使用户更容易完成您的表单。例如,您可以自动填充登录用户的名字、姓氏或电子邮件地址。

  • 占位符:当用户开始在字段中输入时(在说明或示例的情况下),这些默认值将清除。这些默认值不会与表单提交一起保存。

注意:创建新条目或有条件显示字段时将使用默认值。编辑条目时,默认值不会替换提交的值,即使提交的值为空。

添加默认值

如果您想向其中一个字段添加默认值,请在构建/编辑表单时选择或输入该值。

为文本字段添加默认值

  1. 转到您的表单构建页面。

  2. 选择要插入默认值的字段。在字段选项 → 高级 → 默认值中,选择文本图标并将所需的默认值文本插入该字段。

为 Radio 字段添加默认值

  1. 转到您的表单构建页面。

  2. 找到要为其设置默认值的 Radio 字段,然后选择默认选项。执行此操作后,更新表单。

默认情况下,表单将选择此选项,但用户仍然可以更改选择。

为复选框字段添加默认值

  1. 转到您的表单构建页面。

  2. 找到要为其设置默认值的复选框字段,然后选择默认选项。执行此操作后,更新表单。

默认情况下,表单将选择此选项,但用户仍然可以更改选择。

为下拉字段添加默认值

如果要为下拉列表设置默认值,请从字段设置的下拉列表中选择选项,然后保存。

表单将默认选择此选项,但用户可以更改选择。

为动态字段添加默认值

动态字段和帖子类别字段在设置默认值方面的工作方式与其他字段类型略有不同。由于设置侧栏中未列出这些选项,因此应使用默认值选项。要为动态字段选择默认值,请双击该字段。单击默认值框中的点以显示选项。选择任何值以将其设置为默认值。

添加占位符

表单占位符通常是告诉用户要输入的内容的说明或文本。例如,您可能会在文本字段中看到“名字”,然后您就知道要输入您的名字了。在下拉字段中,您可能会看到“-选择餐点-”,然后您就会知道您需要选择餐点。占位符值不与条目一起保存。

向文本字段添加占位符

  1. 转到您的表单“构建”页面。

  2. 选择要插入占位符的字段。转到左侧边栏中的“高级”部分,然后将所需的占位符文本插入该字段。

  3. 当用户开始在字段中输入时,占位符文本将被清除,如下所示:

将占位符添加到下拉字段

  1. 转到您的表单“构建”页面。

  2. 选择要在其中添加占位符的下拉字段。转到左侧边栏中的“高级”部分并插入您希望显示为占位符的值。

  3. 如果下拉字段是必需的,用户将无法在不选择不同选项的情况下提交表单。占位符值不会与条目一起保存。

如果您的下拉字段在字段设置中使用自动完成功能,您将看到选择一个选项作为默认占位符。

样式占位符文本

要更改字段内占位符文本的颜色,请参阅样式占位符文本中的说明

智能默认值


智能默认值是动态生成的默认值。这很有用,因为例如,您可以使用用户个人资料中的用户名和姓氏填充字段。或者,您可以使用先前条目中提交的用户地址填充字段。


插入智能默认值

通过在字段选项默认值框中插入智能默认值短代码来生成智能默认值

  1. 在表单构建器页面上,单击一个字段以获取右侧栏中的字段选项。

  2. 打开“高级”部分,然后单击“默认值”框中的点这将打开一个部分,其中包含可用智能默认值短代码的完整、可点击列表。

  3. 单击任何智能值以将其插入到默认值框中。

智能默认值短代码


以下是您可以在表单中使用的所有智能默认值短代码的列表和说明。如果您想设置自定义智能默认值,您可以创建自己的 WordPress 简码或使用frm_get_default_value挂钩。


当前日期

以您在 Global Settings 中选择的格式显示当前日期。使用 format="Ymd" 显示不同的格式。此处允许使用任何 PHP date()格式字符用法:[date] 或 [date format="Ymd"]

其他日期

如果您需要除今天以外的默认日期,请使用 [date] 短代码中的“偏移”选项。例如,要获取 3 天后的日期,请使用 [date offset='+3 days']。此选项也可以与格式选项结合使用。[date offset='+3 days' format='Y-m-d']。

使用偏移量时,您可以使用 PHP strtotime() 函数接受的任何日期字符串。不确定可以使用什么?看看几个常见的例子

时间

以 hh:mm:ss 格式显示当前时间。您可以使用 format 参数更改格式并将值四舍五入到最接近的 30 分钟。用法:[time] 或 [time format='h:i A' round=30]

电子邮件

从登录用户的个人资料中获取电子邮件地址。用法:[email]

用户名

显示登录用户的登录名/用户名。用法:[login]

显示名称

从登录用户的配置文件中获取显示名称。用法:[display_name]

名字

显示登录用户配置文件中的名字。用法:[first_name]

姓氏

从登录用户的个人资料中获取姓氏。用法:[last_name]

用户 ID

获取登录用户的用户 ID(编号)。用法:[user_id]

用户角色

检索登录用户的 WordPress 角色。用法:[user_role]

用户元

使用 [user_meta key="meta_name"] 短代码从登录用户的个人资料中获取任何信息。将“meta_name”替换为信息的元名称。用法:[user_meta key="user_url"], [user_meta key="user_description"]

帖子 ID

获取您的表单所在的帖子的 ID。用法:[post_id]

帖子标题

显示您的表单所在的帖子的标题。用法:[post_title]

发布作者电子邮件

从表单所在的帖子中获取帖子作者的电子邮件地址。用法:[post_author_email]

发布Meta

获取保存到表单所在帖子中自定义字段的任何信息。使用 [post_meta key=whatever] 并将“whatever”替换为自定义字段名称。用法:[post_meta key="_visibility"]

IP地址

获取填写表单的用户的 IP 地址。请注意,此短代码返回用户的 ipv4 地址,而不是他们的私有/本地 IP。用法:[ip]

自动增加一个 ID

使用 [auto_id start=1] 插入一个数字,该数字随着表单的每个条目增加一。此短代码可以包含前缀和/或后缀,但前缀和/或后缀不应包含数字。[auto_id] 短代码始终返回唯一值。最终提交的值可能与您第一次加载表单时屏幕上显示的值不同,例如如果有多个用户同时填写表单。

在两个不同的时间检查自动增量值以确保它是唯一的:

  1. 首先,在加载表单时,会根据其他保存的值检查该值。两个人可能正在填写具有相同 auto id 值的表单。

  2. 其次,当提交表单时,在验证期间对照存储在数据库中的最新值检查该值,如果该值已被使用,则更新该值。有些情况下,当两个人在同一毫秒内提交表单时,自动 id 不是唯一的。这种情况很少见,可以通过将自动增量字段标记为唯一来防止。这将导致同时提交的两个用户之一重新提交,正确更新值。

注意:[auto_id] 短代码未设置为在中继器内部工作。

用法:[auto_id start=1] 或 abc_[auto_id start=1]_xyz

注意:数字不应直接在 [auto_id] 短代码之前或之后使用。可以使用字母或 _ 之类的字符将数字与 [auto_id] 分开。所以 1000[auto_id] 不应该被使用,但 1000_[auto_id] 很好。

服务器值

此短代码允许您访问 PHP 的 $_SERVER 超全局变量,包括页面 URL查看可用 SERVER 值的完整列表

获取当前或引用 URL

获取当前页面或引用页面的 URL。在文本字段/隐藏字段中使用 [server param="REQUEST_URI"] 来获取当前页面的 URL。使用 [server param="HTTP_REFERER"] 获取上一页的 URL。如果您在多页表单中使用此值,则该字段必须位于表单的第一页上才能获得所需的值。

从 URL 获取参数

使用 [get param="param_name"] 从 URL 或 WP Query 对象获取参数。要进行设置,请按照以下说明进行操作。

  1. 在您的字段设置 → 默认值框中,插入 [get param="param_name"]。param_name替换为您首选的参数名称。

  2. 例如,如果您的 URL 设置为examplesite.com/form/?job=cashier,则您的参数名称为job并且分配的值为cashier

  3. 然后,您可以在表单字段或视图中插入[get param="job"],这将自动被收银员替换

  4. 如果该参数为空或未包含在 URL 中,您可以使用默认参数设置默认值

    [get param="job" default="Default Value"]

注意:当使用这个简码过滤一个 Formidable 视图时,过滤敏感信息/条目时总是设置一个默认值(即 default="0"),以保护不应公开的条目。

将值传递给表单#

自动将信息从视图或表单传递到另一个表单可能会有所帮助。这可用于以第二种形式显示或存储附加信息。

  1. 转到要从中提取信息的视图或表单(表单 1),然后添加指向包含第二个表单(表单 2)的页面的链接。

    如果将此链接添加到视图,请将其包含在内容或动态内容框中。

    如果您将用户直接从 Form 1 发送到 Form 2,请在 Form 1 的设置中选择“重定向到 URL”并在那里添加链接。

  2. 在链接的末尾,向链接添加一个参数,如 ?param-name=[254]。完整链接将类似于 example.com/my-page?param-name=[254]。将“param-name”替换为您想要的任何参数名称,并将“254”替换为您要传递到 URL 中的字段。

  3. 使用 [get param='param-name'] 作为智能默认值向 Form 2 添加一个字段。这将显示视图或表单 1 中的字段值。

将值传递给动态字段#

将信息从视图或表单传递到另一个表单中的动态字段可以帮助自动链接两个表单并使表单 1 中的所有信息在表单 2 中可用。

  1. 转到要从中提取信息的视图或表单(表单 1),然后添加指向包含第二个表单(表单 2)的页面的链接。

    如果将此链接添加到视图,请将其包含在内容或动态内容框中。

    如果您将用户直接从 Form 1 发送到 Form 2,请在 Form 1 的设置中选择“重定向到 URL”并在那里添加链接。

  2. 在链接的末尾,向链接添加一个参数,如 ?param-name=[id]。完整链接将类似于 example.com/my-page?param-name=[id]。将 'param-name' 替换为您想要的任何名称,但保留 [id] 不变。

  3. 使用 [get param=param-name] 的智能默认值向 Form 2 添加动态字段 → 下拉列表

现在,当用户单击视图中的链接或点击表格 1 中的“提交”时,表格 2 将自动链接到表格 1。在表格 2 的电子邮件、帖子或视图中,表格 1 中的所有信息都将可以访问。

故障排除

如果您的表单字段没有使用您在 URL 中添加的参数值自动填充,这通常与页面缓存有关。页面缓存适用于未登录的访问者。它旨在将页面保存一次,然后将其提供给已注销的所有看到该页面的人。要解决此问题,请确保您已关闭页面缓存。

字段值

使用 [frm-field-value field_id=x user_id=current] 获取当前用户先前在某个字段中提交的值。将 x 替换为您要从中检索值的字段的 ID。有关此短代码的更多信息,请参阅frm-field-value页面。

相关开发者Hook

  • 使用frm_get_default_valuehook显示表单时,设置任何字段的默认值


相关资源