Код формы/блока:
Код: Выделить всё
<div class="card-body text-center">
<?php $settings = ActiveForm::begin([
'id' => 'form--categorySettingsGenerate',
'action' => ['content/category/'],
'enableAjaxValidation' => true,
'validationUrl' => ['category-settings-validate'],
]);
?>
<div class="row">
<div class="col-md-3">
<?= $settings->field($settings_category, 'start_id_category') ?>
<?= $settings->field($settings_category, 'interval_category_id') ?>
<?= $settings->field($settings_category, 'category_parent_id') ?>
</div>
</div>
<div class="form-group">
<?= Html::submitButton(Yii::t('app', 'save_settings'), [
'class' => 'btn btn-success',
'data' => [
'type' => 'form--categorySettingsGenerate',
'art' => 'content-ContentCategoryGroups-sdt',
'id' => $settings_category->id_content,
],
'name' => 'save_settings_category'
]) ?>
</div>
<?php ActiveForm::end() ?>
</div>
Код: Выделить всё
$(document).on('beforeSubmit', '#{$id_form}', function () {
let form = $('#form--categorySettingsGenerate').serialize();
$.ajax({
url: '/ajax/',
type: 'POST',
data: form,
beforeSend: function () {
$('#preloader').show();
},
success: function (data) {
if (typeof data === 'string') {
let result = JSON.parse(data);
if (result !== null) {
if (typeof result.func !== "undefined" && result.func !== null) {
obj[result.func](result.value, result.options);
}
}
}
},
complete: function () {
$('#preloader').hide();
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR.responseText);
console.log(textStatus);
console.log(errorThrown);
}
});
return false;
});
Код: Выделить всё
public static function getOutputUpdatedData()
{
$settings_category = ContentCategoryGroups::getOne();
if (!$settings_category) {
$settings_category = new ContentCategoryGroups();
}
return [
'nameId' => 'settings-category',
'data' =>
Yii::$app->view->renderAjax("@app/views/content/category/content_category_settings",
compact('settings_category')
),
];
}