как установить флажок для действия в Yii?

#php #checkbox #yii

#php #флажок #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:

Вы просто перенаправляете свою страницу на 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();'));