Всем привет.
Есть ActiveForm в которой radio в модальном окне, но проблема в том что значения не сохраняются в базу, показывает alert('fail');
<?php $form = ActiveForm::begin([
'id' => 'formTest',
'type' => ActiveForm::TYPE_HORIZONTAL,
'formConfig' => ['labelSpan' => 3, 'deviceSize' => ActiveForm::SIZE_SMALL]
]);
$list = [0 => 'one', 1 => 'two', 2 => 'three'];
?>
<?= $form->field($model, 'name')->radioList($list)->label(false); ?>
<div class="form-group">
<?= \yii\helpers\Html::submitButton('<i class="glyphicon glyphicon-ok"></i> Ok', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
js
$js = <<< JS
$(document).ready(function() {
$('form#formTest').on('beforeSubmit', function () {
var data = $(this).serialize();
$.ajax({
type: 'post',
url: 'message',
data: data,
error: function() {
console.log('error');
},
success: function(){
console.log(data);
},
})
.done(function(data) {
if(data.success) {
alert('success');
} else {
alert('fail');
}
});
return false;
});
});
JS;
Controller
public function actionMessage()
{
$model = new Post();
if(\Yii::$app->request->isAjax) {
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
$model->save();
}
}
return $this->renderAjax('message', [
'model'=>$model,
]);
}