ПРИМЕЧАНИЕ:
Гугл для этого довольно сложно, потому что "GET" поднимает много "как" получить значение формы с помощью javascript,"и т. д.
ПРОБЛЕМА:
TL; сначала версия DR
Можно ли использовать множественный выборс помощью метода GET формы и до сих пор извлекает каждое отдельное значение?
расширенное объяснение
Требования к поисковому каталогу, который я создаю, включают использованиеметод GET с формой, чтобы пользователь мог видеть свои результаты в URL, а также отправлять прямую ссылку на результаты поиска другому клиенту и т. д.
Одним из полей поиска являетсяполе выбора (поле выбора с атрибутом MULTIPLE
).Мой бэкэнд написан на PHP, и я обычно обрабатываю множественный выбор, устанавливая имя переменной массива (name="multiselect[]")
, а переменная post включает массив выбранных опций ($_POST["multiselect"] == array())
.
Проблемав этом случае значения множественного выбора передаются в строку получения следующим образом:
action?multiselect=1&multiselect=2
Таким образом, независимо от того, какое последнее значение будет заменено, значение первой инициализации переменной в строке получения.(в приведенном выше примере multiselect будет равен 2).
Попытка сделать имя массивом просто заменяет значение массива таким же образом, как это
action?multiselect[]=1&multiselect[]=2
Willрезультат в $_GET["multiselect"] == 2
Я изначально рекомендовал использовать флажок, так как это позволило бы нам по-разному именовать элементы и проверять true / false для каждого из них, но для этого конкретноговыберите, и они хотят, чтобы он был в области прокрутки.