使用Yii HiddenField方法设置$ _GET

时间:2015-04-09 19:06:40

标签: php yii

如果选择了按钮,我正尝试设置$_GET。目前,我正在尝试使用以下命令设置此项:CHTML::hiddenField('hidden', $displayData = "option1");但这只会重新加载页面。有什么建议?

控制器:

<?php
    $data1 = new CArrayDataProvider(.......){
        .......
    }

    $data2 = new CArrayDataProvider(.......){
        .......
    }

    if(isset($_GET['export'])){
        $displayData = $_GET['export'] == 'option1' ? $data1 -> getData() : $data2 ->getData();

        // Export CSV FILE Content here

    }
?>

查看:

<?php
    // BUTTON 1
    CHTML::hiddenField('hidden', $displayData = "option1");
    // The button and other data
?>

 <?php
    // BUTTON 2
    CHTML::hiddenField('hidden', $displayData = "option2");
    // The button and other data
 ?>

1 个答案:

答案 0 :(得分:1)

阅读有关隐藏字段的Yii文档:link

public static string hiddenField(string $name, string $value='', array $htmlOptions=array ( ))

因此,您在视图中的代码应该是这样的:

CHTML::hiddenField('export', option1);
or
CHTML::hiddenField('export', option2);

此外,您必须了解hiddenField不是按钮或表单,它不会将数据发送到任何地方。 要将一些数据从用户发送到服务器,您应该将CActiveForm与隐藏字段一起使用。 您可以找到示例here