1

我有 2 个按钮,比如常见的喜欢/不喜欢,每个按钮都向控制器发送 1 或 0。但是每次点击都会刷新页面,很烦人……

<?php $form=$this->beginWidget('CActiveForm', array(
                'id'=>'valorar-form',
                'enableAjaxValidation'=>true,
                'action'=>array('/entradas/Valorar','id'=>$data->id)
        ));?>
                 <div >

                <button type="submit" style='margin: 5px;' name="rating" value="1">
                </button> 

                <button type="submit" style='margin: 5px;' name="rating" value="0">
                </button>
                 </div>
   <?php $this->i++; $this->endWidget(); ?>

在控制器 Valorar 动作上:

if(isset($_POST['ajax']) && $_POST['ajax']==='valorar-form')
        {
            echo CActiveForm::validate($valoracion);
            Yii::app()->end();
        }

但没有收到任何形式 $_POST['ajax']

4

1 回答 1

1

在这种情况下,您不需要 a CActiveForm,因为您没有表单元素。你可以用 2CHtml::ajaxButton()代替。

<?php echo CHtml::ajaxButton(
    '1', 
    array('entredas/valorar','id'=>$data->id),
    array(),
    array('style'=>'margin:5px', 'name'=>'rating')
) ?>
于 2013-05-07T07:28:28.470 回答