/ / Yii, jak niestandardowo przesłać przycisk w formularzu aktywnym - ajax, widget, yii

Yii, jak niestandardowy przycisk Wyślij w cactiveform - ajax, widget, yii

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 № 1

Jeś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