如何使用 PHP 处理包含动态多选字段的 HTML 表单?

How to handle an HTML form containing dynamic muliselect fields using PHP?

我正在处理一个 HTML 表单的挑战,该表单的输入字段是使用 JavaScript DOM 动态创建的,还包含多个 select 字段。这是我的表单的示例代码:

<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)
)

任何建议将不胜感激!

<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'] 可以获得动态颜色名称。

将 select 命名为 []

<select name="attributeIndex[][]"

这样每个值 PHP 放入 $_GET 将在数组中的数组中。

如果您希望 select 编辑多个选项,您还需要添加 multiple 属性。

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