У меня проблемы с управлением данными из формы. Проблема заключается в том, что при отправке формы некоторые данные обычно отправляются (как всегда), но некоторые другие данные рассматриваются как пустые.
Это тот случай: когда я отправляю свою форму, в инструментах Chrome (вкладка «Сеть») я вижу полезную нагрузку запроса, в которой все данные правильно отформатированы, но при выводе переменной $this->request->data
в мой контроллер я могу увидеть, что некоторые поля отсутствуют.
Например, у меня есть множественный выбор с name='data[GamesHome]'
, а другой с name='data[GamesMenuDesktop]'
, и при выборе некоторых опций для каждого выбора и отправки это полезная нагрузка запроса, которая генерирует:
------WebKitFormBoundaryMluBtWwVE1VAOgZ3
Content-Disposition: form-data; name="data[GamesHome][]"
13258
------WebKitFormBoundaryMluBtWwVE1VAOgZ3
Content-Disposition: form-data; name="data[GamesHome][]"
995
------WebKitFormBoundaryMluBtWwVE1VAOgZ3
Content-Disposition: form-data; name="data[GamesMenuDesktop][]"
13893
Но при выводе атрибута $this->request->data
я вижу, что массив GamesHome имеет два правильных идентификатора (13258 и 995), но GamesMenuDesktop пуст.
Что вызывает это? Запрос отправлен правильно, поэтому я предполагаю, что проблема сохраняется в моем контроллере ...
Спасибо!
Редактировать: вот HTML-код формы
<form class="well" id="DomainAdminEditForm" enctype="multipart/form-data" method="post" accept-charset="utf-8">
<div class="form-group">
<label for="DomainGamesHomeDesktop">GamesHome</label>
<select class="form-control select-multiple-games-ajax select2-hidden-accessible" multiple="" id="DomainGamesHomeDesktop" name="data[GamesHome][]" tabindex="-1" aria-hidden="true">
<!---Various <option> tags-->
</select>
</div>
<div class="form-group">
<label for="DomainGamesMenuDesktop">GamesMenuDesktop</label>
<select class="form-control select-multiple-games-ajax select2-hidden-accessible" multiple="" id="DomainGamesMenuDesktop" name="data[GamesMenuDesktop][]" tabindex="-1" aria-hidden="true">
<!---Various <option> tags-->
</select>
</div>
</form>