Как использовать две формы с одной кнопкой?

Доброй ночи всем, такой вопрос у меня, на скриншоте видно что используется ТАБЫ. В первом табе есть форма, после заполнения мы жмакаем на кнопку продолжить и нас перекидывает, на второй таб и тут тоже есть форма и после выбранных полей есть кнопка заказать.
Я не могу понять как мне правильно разместить формы для отправки данных в табах, я использую yii2 bootstrap/tab
Или тут не надо использовать две формы, если написал БРЕД, то поправте. И помогите как правильно реализовать!
<?= Tabs::widget([
        'items' => [
            [
                'label' => 'Контактные данные',
                'options' => ['id' => 'activeAccount'],
                'visible' => Yii::$app->user->id,
                'content' => $this->render('_tabs/activeAccount', [
                    'order' => $order,
                    'user' => $user,
                    'userCabinet' => $userCabinet,
                ]),
            ],
            [
                'label' => 'Доставка оплата',
                'options' => ['id' => 'deliveryPayment'],
                'content' => $this->render('_tabs/deliveryPayment', [
                    'model' => $model,
                ]),
            ],
        ]
    ]);
    ?>


777fd16e80.png
de14d0a316.png
  • Вопрос задан
  • 282 просмотра
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Обворачиваете все табы в одну форму, в рендер таба можно передавать $form. Кнопку сабмита в последней и фсе.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@matperez
Прям подробно не подскажу, но общий порядок действий может быть такой:
На первой вкладке перехватить сабмит и переключиться на вторую вкладку. Как сабмит перехватить можете почитать тут https://yii2-cookbook.readthedocs.io/forms-activef... Как переключиться в js на вторую вкладку загуглите сами.
На второй вкладке можно этот фокус повторить и по итогу уже данные обеих форм отправить через ajax запрос на бекенд.

Тут правильным вопросом будет не как это в принципе провернуть, а где хранить состояние между шагами формы (как на следующем шаге получить данные предыдущего). Можете хранить его на бекенде в сессии, можете хранить в GET-параметрах, можете прямо в html (как указано выше), а можете в каком-нибудь отдельном js объекте. Решите как вам удобнее и потом уже понятно будет как именно это реализовать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы