Я немного усложняю обработку 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)
)
Любое предложение будет высоко оценено!
Назовите избранника дополнительным []
:
<select name="attributeIndex[][]"
Таким образом, каждое значение, которое PHP помещает в $_GET
будет в массиве в массиве.
Вам также нужно будет добавить multiple
атрибут, если вы хотите, чтобы было выбрано более одной опции.
<select name="attributeIndex[][]" multiple id="color" class="form-control">
<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’] — динамические названия цветов.