我正在使用 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);
},
......