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);
},
......