问题描述
我可以使用查询字符串填充参数名称为“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