如标题中所述,我'尝试使用下拉列表来发布后页。 该帖子在控制器中接收,但所选值为空。 这是我的下拉列表
<?php echo CHtml::dropDownList('groupe',$groupe,
array("A"=>"A","B"=>"B","C"=>"C","D"=>"D","E"=>"E","F"=>"F","G"=>"G","H"=>"H"),
array(
'prompt'=>'--Choisir un groupe--',
'submit'=>CController::createUrl('classement'),
//'data'=>array('groupe'=>'js:this.value'),
)); ?>
这是我的控制器
public function actionClassement($groupe="")
{echo $groupe;
if(isset($_POST['groupe'])){echo $_POST['groupe']."ici=".$groupe;
$groupe = $_POST['groupe'];
}echo 'test';
$model = Team::model()->getClassementByGroupe($groupe);
$games = array();
$games = Game::model()->getGameByGroupe($groupe);
//echo '<pre>test';echo print_r($model);echo '</pre>';
$this->render('classement',array(
'model'=>$model,
'groupe'=>$groupe,
'games'=>$games,
));
}
感谢您的帮助,因为我没有发现我的错误:-s
答案 0 :(得分:0)
您需要在表单中包装下拉列表。这很有效。如果有$groupe
变量,请注意$_GET
。您的组合正在发布,因此您需要使用$_POST['groupe']
<form method="post" action="<?= $this->createUrl('') ?>">
<?php
echo CHtml::dropDownList('groupe', $groupe, array(
"A" => "A",
"B" => "B",
"C" => "C",
"D" => "D",
"E" => "E",
"F" => "F",
"G" => "G",
"H" => "H"
), array(
'prompt' => '--Choisir un groupe--',
'submit' => CController::createUrl('classement'),
//'data'=>array('groupe'=>'js:this.value'),
));
?>
</form>
我删除了用于测试控制器的模型。
public function actionClassement($groupe = "") {
echo $groupe;
if (isset($_POST['groupe'])) {
echo $_POST['groupe'] . "ici=" . $groupe;
$groupe = $_POST['groupe'];
}echo 'test';
// $model = Team::model()->getClassementByGroupe($groupe);
// $games = array();
// $games = Game::model()->getGameByGroupe($groupe);
//echo '<pre>test';echo print_r($model);echo '</pre>';
$this->render('view', array(
'groupe' => $_POST['groupe'],
));
}