multi select — Как обработать HTML-форму, содержащую динамические поля множественного выбора, используя PHP?

Я немного усложняю обработку HTML-формы, поля ввода которой создаются динамически с использованием JavaScript DOM, также содержащего несколько полей выбора. Вот пример кода формы, которую я имею:

<input type="text" name="attributeIndex[]" id="brand" class="form-control" placeholder="brand">
<select name="attributeIndex[]" id="color" class="form-control">
<option value="92">Aero</option>
<option value="277">Aluminum</option>
<option value="91">Amber</option>
</select>

После отправки формы я хочу получить данные формы в массиве PHP следующим образом:

$formData=$_GET['attributeIndex'];

Массив $ formData должен быть таким:

array(
[0]=>text input value here
[1]=>array(list of selected colors here)
)

Любое предложение будет высоко оценено!

0

Решение

Назовите избранника дополнительным []:

<select name="attributeIndex[][]"

Таким образом, каждое значение, которое PHP помещает в $_GET будет в массиве в массиве.

Вам также нужно будет добавить multiple атрибут, если вы хотите, чтобы было выбрано более одной опции.

<select name="attributeIndex[][]" multiple id="color" class="form-control">
0

Другие решения

<form action="#" method="post"><input type="text" name="attributeIndex['brand'][]" id="brand" class="form-control" placeholder="brand">
<select name="attributeIndex['color'][]" id="color" class="form-control" multiple="multiple">
<option value="92">Aero</option>
<option value="277">Aluminum</option>
<option value="91">Amber</option>
</select>
<input type="submit" name="submit" value="submit">
</form>

<?php
if(isset($_POST['submit'])) {
print_r($_POST['attributeIndex']);

}

?>

Вы можете попробовать выше этого. Используя attributeIndex [‘brand’], вы можете получить динамические названия брендов, а attributeIndex [‘color’] — динамические названия цветов.

0

По вопросам рекламы [email protected]