@prokopov-vi

Как отправить несколько форм Yii2?

Помогите решить такую проблему.
На странице выводится блоки (количество не ограничено ) , каждый блок это по-сути фора для редактирования даных отдельного юзера, и когда нажимается сабмит то данные отправляются на контроллер и там уже обрабатываются.
Я хочу что б данные отправлялись в таком виде
[
  [
    'name' => first,
  ],
  [
      'name' => second,
  ]
]


Возможно ли как-то сделать в ActiveForm еще несколько форм, Делаю это так, но формы не отправляются:

<?php $form = ActiveForm::begin([
        'action' => Url::to('/user/'.$employeeType.'/save-information'),
        'id' => 't-form'
]);?>

<?php foreach ($usersCollection as $employee):?>

        <?php $formN = ActiveForm::begin([
              'id' => 't-form'
         ]);?>

             $formN->field($employee, 'name')?>

        <?php ActiveForm::end()?>
  <?php endforeach;?>
<?= Html::submitButton('Save', ['class' => 'btn btn-success'])?>
<?php ActiveForm::end();?>


Усли id в форм одинаковые и если разные (или вовсе нет) - формы все равно не отправляются.

Подскажите, пожалуйста, как это исправить или сделать правильней,

Спасибо !
  • Вопрос задан
  • 1117 просмотров
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
Вот статья, которая поможем Вам с решением Вашей задачи.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gubin_niko
@gubin_niko
Одновременно нельзя отправить сразу две формы, увы. Вы можете обернуть блоки одной формой, а имя поля делать не name, а name[]. Тогда на стороне сервера получите массив значений из полей name. Для пущей уверенности можете указать name[1] (где 1 - номер блока, чтобы было проще разбирать данные на сервере).
Ответ написан
Ваш ответ на вопрос

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

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