Задать вопрос
rishatss
@rishatss
Simple Developer ^)

Как вытянуть данные с формы multiple POSTом?

Доброго всем дня господа :)
Пишу RESTful API.
Пытаюсь получить выбранные данные юзером, дабы потом с ними как-то работать в контроллере.
Собственно говоря есть: Форма
u77144jd.beget.tech - Визуальная
Код:
https://github.com/Rishats/taskbackend/blob/master...

Как с данной формы словить результат? При нажатии на кнопку?
В документации не рассматривают такой тип формы.
Если вы знаете места где есть туторы или можете помочь мне обработать эту форму прошу помочь :)
Спасибо всем :)
  • Вопрос задан
  • 160 просмотров
Подписаться 1 Оценить 8 комментариев
Решения вопроса 1
zvermafia
@zvermafia
WebDev
Сначала:
  • Определите роут для обработки формы
  • Определите класс/метод для обработки запроса
  • В форме укажите урл для обработки запроса:
    <form action="/update" method="POST" accept-charset="UTF-8">
    ...

  • Измените это:
    <button type="button" class="btn btn-success"><a href="/" class="menu">Обновить</a></button>
    На это:
    <button type="submit" class="btn btn-success">Обновить</button>

Потом:

В методе который вы определили для обработки запроса, можете сделать так (для получения выбранных значений):
public function update()
{
    foreach (request()->multipleselect1 as $value)
        echo "{$value}<br>";

    foreach (request()->multipleselect2 as $value)
        echo "{$value}<br>";

    foreach (request()->multipleselect3 as $value)
        echo "{$value}<br>";

    foreach (request()->multipleselect4 as $value)
        echo "{$value}<br>";
}


P.S. Не думаю что это можно назвать API :).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
В коде ваша форма выглядит так:
<div class="col-lg-10">
 <select class="form-control" multiple="multiple" id="multipleselect1[]" name="multipleselect1[]">
  <option value="1">Овечка 1</option>
  <option value="2">Овечка 2</option>
 </select>
</div>


Самое простое - обращайтесь к Select'у через jQuery, вот такой пример скорее всего (не уверен из-за использования "[]" в названии) должен сработать:
alert($("#multipleselect1[] option:selected").val());
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы