在函数中使用$ _Post

时间:2015-12-16 01:52:51

标签: php checkbox

默认情况下,复选框的“重力表单”合并标记会输出所选选项的值。如果他们对问题的选择是英语,西班牙语和其他,并且用户选择英语,则合并标记输出:

english

我的最终目标是能够为复选框自定义重力表合并标记输出,以包括所有选项,类似复选框的格式和选中的选项(复选框已选中)。

现在,我可以返回所有选项。使用此功能,

add_action( 'gform_pre_submission_3', 'pre_submission_handler' ); function pre_submission_handler( $form ) {

foreach($form['fields'] as &$field) {
    if($field['id'] === 13) {
    //$selectData['inputs'] = $field['inputs'];
    $selectData['selections'] = $field['choices'];

    $the_fields = $selectData;

    foreach ($the_fields as $fields) {      

        print_r($fields);       
    }
    }
}

我得到了输出:

Array ( 
[0] => Array ( 
    [text] => English 
    [value] => Language: English 
    [isSelected] => 
    [price] => 
) 
[1] => Array ( 
    [text] => Spanish 
    [value] => Language: Spanish 
    [isSelected] => 
    [price] => 
) 
[2] => Array ( 
    [text] => Other (specify) 
    [value] => Other 
    [isSelected] => 
    [price] => 
) 
)

但是,[isSelected]没有变量。在GF论坛上,其他人也遇到了同样的问题。 GF说'在预提交过滤器中,该条目尚未创建,因此您可以通过检查$ _POST变量来保持提交的值。每个复选框项都有自己的变量。例如,假设我有一个复选框字段,其字段ID为1,它有3个选项,然后我将访问每个选项的值,如下所示:'

$value_of_first_checkbox = $_POST["input_2_1"];
$value_of_second_checkbox = $_POST["input_2_2"];
$value_of_third_checkbox = $_POST["input_2_3"];

我尝试使用类似的行运行该函数,但是当我在确认页面上回显$value_of_first_checkbox时,不会得到任何结果。如何使用$ _POST输出正确的值?

1 个答案:

答案 0 :(得分:0)

要正确诊断这一点,您应该var_dump($_POST)检查实际发布的内容,看看是否只是指定了错误的密钥。