hello.
i have user managment system and want to update user information with ajax validator and ajax save like this:
public function actionEdit()
{
$model = Users::model()->find('id = :id' ,
array(':id' => Yii::app()->user->id)
);
if (isset($_POST['ajax']) && $_POST['ajax'] === 'edit') {
echo CActiveForm::validate($model);
Yii::app()->end();
}
if (isset($_POST['Users']))
{
if (Yii::app()->request->isAjaxRequest){
$model->attributes = $_POST['Users'];
header('Content-Type: application/json; charset="UTF-8"');
if ($model->validate()) {
//if ($model->update(array('name','lastname','address'))) {
if ($model->save(false, array('name','lastname','address'))) {
$status = 'success';
$msg = 'Successful.';
} else {
$status = 'error';
$msg = 'Error on Update !';
}
echo json_encode(array(
'msg' => $msg,
'status' => $status
));
} else {
$error = CActiveForm::validate($model);
if ($error != '[]')
echo $error;
}
Yii::app()->end();
}
}
$this->render('edit', array('model' => $model));
}
and in view file i wrote this code for ajaxSubmitButton:
echo CHtml::ajaxSubmitButton('edit', '', array(
'success' =>
'js: function(result) {
if(result != "") {
if (result.status == "success")
{
$("#divmsg").removeClass().addClass("alert alert-success").fadeIn(700);
$("#divmsg").html(result.msg);
}
else if ( result.status == "error"){
$("#divmsg").removeClass().addClass("alert alert-error").fadeIn(700);
$("#divmsg").html(result.msg);
}
else
{
$.each(result, function(key, val) {
$("#edit #"+key+"_em_").text(val);
$("#edit #"+key+"_em_").show();
});
}
}
}',
'error' =>
'js: function() {
$("#divmsg").removeClass().addClass("alert alert-error").fadeIn(700);
$("#divmsg").html("Error !");
}',
'beforeSend' =>
'js: function(){
$("#edit-submit").prop("disabled",true);
$("#divmsg").fadeOut(700);
$("#loading").addClass("ajax-loader");}',
'complete' =>
'js: function(){
$("#edit-submit").prop("disabled",false);
$("#loading").removeClass("ajax-loader");}',
'dataType' => 'json',
), array(
'class' => 'btn btn-primary btn-block btn-large',
'id' => 'edit-submit'
));
i just want to update 3 column in database table (name, lastname, address).
with this code no response message or error or anything in save !