#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();'));