Yii2 - Сохранить форму в модальном с Ajax - PullRequest
0 голосов
/ 02 декабря 2018

У меня есть две модели, одна из которых - «register-products» (где у меня есть выпадающий список всех брендов), а другая форма - «бренды».Мне нужно отобразить форму "бренды" внутри формы "зарегистрировать продукты", чтобы создать новый бренд, используя вдову bootstrap Modal, и она работает, но мне нужно, чтобы вновь созданный бренд был доступен в раскрывающемся списке формы register-productsчтобы мне не приходилось обновлять страницу каждый раз.

В этот момент происходит то, что после создания нового бренда происходит перенаправление на представление с подробностями нового бренда.

форма регистрации продуктов

<?php
 Modal::begin([
     'header' => 'Test',
     'id' => 'modal',
     'size' => 'modal-lg',
 ]);
      echo "<div id='modalContent'></div>";
 Modal::end();
 ?>

Html::a('+', ['/brands/create'], ['id' => 'open_modal', 'class' => 'btn btn-success']);

js

$(function(){
$('#open_modal').click(function (){
    $.get($(this).attr('href'), function(data) {
      $('#modal').modal('show').find('#modalContent').html(data)
   });
   return false;
});

BrandsController

public function actionCreate()
{
    $model = new Brands();

    if ($model->load(Yii::$app->request->post()) && $model->save()) {
        return $this->redirect(['view', 'id' => $model->id]);
    } elseif (Yii::$app->request->isAjax) {
        return $this->renderAjax('create', [
            'model' => $model
        ]);
    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}
...