如何使用 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">
我正在处理一个 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">