Używam widżetu CJuidialog do zawijania pliku widoku,i nie chcę domyślnego przycisku „zapisz”, ponieważ chciałbym użyć javascript do wywołania ajax do serwera w celu sprawdzenia poprawności danych, a następnie zapisać go. Próbowałem poniżej:
<?php
if($model->isNewRecord)
echo CHtml::submitButton("Create");
else
echo "<button onClick="javascript: _updatedata(".$model->id.");">Save</button>";
?>
po kliknięciu przycisku Zapisz. i tak przejdzie do akcjiUaktualnij, aby zapisać dane formularza, jednak utworzyłem akcję, aby tylko zapisać moje dane.
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);
},
......
Odpowiedzi:
0 dla odpowiedzi № 1Jeśli masz poprawne pytanie, to co mówisz, że zamiast domyślnego przycisku potrzebujesz czegoś, co możesz wykonać rytuał Ajax Things? jeśli tak, musisz to mieć Ajax Submit Button
. Yii daje ci swobodę używania ajax łatwiej niż próbujesz. Proszę zobaczyć CJuiDialog i AjaxSubmitButton