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あなたの質問が正しかった場合、デフォルトボタンの代わりにAjax Thingsの儀式を実行できるものが必要だと言っていることは何ですか?はいの場合、あなたは持っている必要があります Ajax Submit Button
。 Yiiは、あなたがしようとしているよりも簡単にajaxを使用する自由を与えます。見てください CJuiDialogおよびAjaxSubmitButton