post null上的ajax复选框

时间:2014-08-13 16:57:32

标签: php yii

复选框没有发布,给我null

那究竟是什么让帖子不发布?有时候我会坚持下去,我不知道什么时候没有设置并且没有发布。

<?php echo CHtml::checkBox('markComplete', FALSE , array(
    'ajax' => array(
        'type'=>'POST',
        'id'=> $model->id,
        'url'=>$this->createUrl('complete',array('id'=>$model->id,))?>

public function actionComplete($id)
{
    $model= Model::model()->findbypk($id);

    if(isset($_POST['markComplete'])){
        $checkval = $_POST['markComplete']== true ? true : false;
        if($checkval == true){
            $model->status_id=7;
            $model->save(false);
        }
            echo $checkval;
    }
}

2 个答案:

答案 0 :(得分:0)

如果未单击复选框,则$_POST中不会包含该复选框。

所以if(isset($_POST['markComplete'))表示是否选中此框。

除非您在复选框value=""属性中指定了该值,否则无需从该复选框中提取该值。

答案 1 :(得分:0)

除非您已将复选框值指定为&#39; true&#39;,否则您的代码应如下所示:

   if(isset($_POST['markComplete'])) {           
        if($checkval == 'your_checkbox_value') { // value you given for value attribute of checkbox
            $model->status_id=7;
            $model->save(false);
        }
        echo $checkval;
    }