如何在Yii中发布复选框以执行操作?

时间:2014-06-23 12:26:46

标签: php checkbox yii

如果选中此复选框,我想在操作中发布复选框并打印警告,这是我的代码:

视图:

echo CHtml::checkBox('hi');
echo CHtml::button('Search', array('onclick' => 'js:document.location.href="index"'));

控制器:

public function actionIndex()
    {

            $model = Jobs::model()->findAll();
            $model2 = Tags::model()->findAll();


            if(isset($_POST['hi']))
                        echo "<script>alert('hello');</script>";


            $this->render('index', array('model'=>$model, 'model2'=>$model2));
    }

当我选中复选框并单击按钮时,没有发生任何事情,我的代码中的错误在哪里?

1 个答案:

答案 0 :(得分:2)

您只需将页面重定向到actionIndex即可。您必须SUBMIT您的表单,而不是重定向。看看:

    echo CHtml::beginForm(Yii::app()->createUrl('index'), 'POST');
    echo CHtml::checkBox('hi');
    echo CHtml::submitButton('Search');
    echo CHtml::endForm();

如果您尝试:

CVarDumper::dump($_POST,56789,true);

提交表单后,您可以看到POST值。

或者您可以通过按钮中的java脚本执行此操作:

//if you have created a form
echo CHtml::button('Search', array('onclick' => 'this.submit();'));