Yii验证没有刷新页面 - LIKE / DISLIKE

时间:2013-05-06 14:54:44

标签: ajax validation yii

我有两个像普通喜欢/不喜欢的按钮,每个按钮向控制器发送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']

中收到任何东西

1 个答案:

答案 0 :(得分:0)

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

<?php echo CHtml::ajaxButton(
    '1', 
    array('entredas/valorar','id'=>$data->id),
    array(),
    array('style'=>'margin:5px', 'name'=>'rating')
) ?>