如果选择了按钮,我正尝试设置$_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
?>
答案 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