参见英文答案 > Get $_POST from multiple checkboxes 6个
我正在尝试提交包含文件上传的动态生成表单.
为此,我通过DB连接获取表单字段.字段可以允许多个选定的选项.表单可能如下所示:
<form>
<input type="text" name="xyz"> </input>
<input type="file" name="xyzfile"> </input>
<select multiple name="...">
<option value="...">1</option>
<option value="...">2</option>
...
<option>x</option>
</select>
<select name="...">
<option value="...">1</option>
<option value="...">2</option>
</select>
不幸的是,当我使用formData-Object提交表单时,只传输给定字段的最后一个选项. “multiple”属性以某种方式被忽略.
这是我的代码:
var pId = '1';
MetaForm = $('#MetaForm')[0];
formData = new FormData(MetaForm);
formData.append('a','saveInstance');
formData.append('pId', pId);
$.ajax({
type: 'POST',
url: 'x.PHP',
contentType: false,
processData: false,
data: formData,
success: function (response) {
...
当我检查MetaForm-Object时,所有选中的条目都具有selected = true属性.
在使用formData-constructor时,是否有一个选项我没有看到获取一个选择字段的所有选定条目?
我是否必须使用formData.append()手动执行此操作?如果是这样,我如何确保在使用构造函数AND append()时不会出现任何重复?
这有点令人困惑.
解决方法:
您可以在发布以下代码之前序列化表单数据:
var formPostData = $("#formID").serialize();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。