ajaxbutton如何防止刷新页面

时间:2014-02-02 08:43:31

标签: ajax yii

我成功地将Ajax与Yii框架一起使用。 我在postPartial列表中的renderPartial。

我想要做的是当用户点击表单中的ajax按钮时阻止刷新。

在表单的开头,我使用以下代码来激活ajax

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'post-form',
    'enableAjaxValidation'=>true,
    'enableClientValidation'=>true,
)); ?>

在页面的末尾我只有ajaxbutton

<?php    echo CHtml::ajaxSubmitButton('Save'); ?>

在动作控制器中我有以下

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

当我点击ajax按钮时,它会保存数据但刷新页面,因此它会显示表单。 我想要的是留在页面上。

有人帮忙吗? 提前谢谢。

2 个答案:

答案 0 :(得分:2)

您可以阻止页面刷新,或者询问用户是否确定要通过此代码离开页面:

window.onbeforeunload = function() {
        return "Dude, are you sure you want to leave? Think of the kittens!";
    }

您可以查看此问题:Prevent any form of page refresh using jQuery/Javascript

答案 1 :(得分:0)

我认为你有一些像$this->redirect( ... ));

这样的东西 在$model->save()后的控制器中

,对吧?

所以不要重定向