如何使用查询字符串填充重力形式复选框

问题描述

我可以使用查询字符串填充参数名称为“textfield”的重力表单文本字段

https://www.example.com/formpage/?textfield=value

但我也希望能够填充一个复选框,即选中一个框。但是,Gravity Forms 文档“动态填充字段”中没有提到复选框。

我的复选框名为“flags”,并且有名称为“Box1”和“Box2”的选项,所以我尝试了

https://www.example.com/formpage/?textfield=value&flags.Box1=true
https://www.example.com/formpage/?textfield=value&flags.Box1=1
https://www.example.com/formpage/?textfield=value&flags[Box1]=true
https://www.example.com/formpage/?textfield=value&flags[Box1]=1
https://www.example.com/formpage/?textfield=value&flags=Box1

但是我找不到要检查的框。有谁知道是否有办法做到这一点?

解决方法

去看代码。

要设置单个复选框(或列表中的值),请使用

https://www.example.com/formpage/?textfield=value&flags=box1

要设置多个值,代码被设置为使用如下语法:

https://www.example.com/formpage/?textfield=value&flags=box1|box2
https://www.example.com/formpage/?textfield=value&flags=box1%C7box2

然而,在重力表单源中有一个列表测试,也需要测试一个复选框。在 forms_model.php 中,函数 get_parameter_value 我更改了语句

if ( ! empty( $value ) && RGFormsModel::get_input_type( $field ) == 'list' )

if ( ! empty( $value ) && (RGFormsModel::get_input_type( $field ) == 'list' || 
      RGFormsModel::get_input_type( $field ) == 'checkbox' ))

然后一切正常!

,

你的语法有点不对。它没有很好的记录。您需要使用逗号。

https://www.example.com/formpage/?textfield=value&flags=box1,box2

enter image description here