Yii,如何在cactiveform中自定义提交按钮

时间:2012-05-01 22:13:29

标签: ajax widget yii

我正在使用CJuidialog小部件来包装视图文件,我不想要默认的“保存”按钮,因为我想使用javascript对服务器进行ajax调用以进行数据验证,然后保存它。我在下面尝试过:

<?php
    if($model->isNewRecord)
         echo CHtml::submitButton('Create');
    else
         echo '<button onClick="javascript: _updatedata('.$model->id.');">Save</button>';
?>

单击保存按钮时。它仍然会转到actionUpdate来保存表单数据,但是我创建了一个只保存数据的操作。

function updatedata(id)
{
    var url = '<?php echo Yii::app()->request->baseUrl ?>' + '/index.php?r=user/profileupdate&id='+id;

    ......
    $.ajax({

        url: url,
        type: 'POST',
        dataType: "html",
        data:
        {
         ...
        },
        success: function(data, textStatus, XMLHttpRequest) {
                     if (data != null && data == "success")
                     {
                      //$('#xccdfgrid').trigger('reloadGrid');
                      $('#userprofile').dialog('close');
                     }
                     else
                       alert(data);
                  },
        ......

1 个答案:

答案 0 :(得分:0)

如果你的问题是正确的那么你说的是什么,而不是默认按钮,你需要一些你可以执行Ajax Things rite的东西?如果是,则需要Ajax Submit Button。 Yii让你可以更轻松地使用ajax然后你想要做。请参阅CJuiDialog and AjaxSubmitButton