好的,所以我有创建民意调查的表格。我想使用AJAX请求和能够用户附加图像而不是问题,所以我使用FormData。
我找不到任何解决方案来处理具有相同名称的多个输入(命名如下:“name []”)。我尝试了这个选项:
var fdata = new FormData();
fdata.append('answers[]', $('input[name="answer[]"]').val());
但它不起作用。我知道我可以使用.each()
,但我不希望每个问题有不同的名称,所以我不必太多地重建PHP方面。
感谢您的帮助。
答案 0 :(得分:2)
您必须依次附加每个值。目前,您只是附加第一个(因为这是val()
返回的内容。
$('input[name="answer[]"]').each(function (index, member) {
var value = $(member).val();
fdata.append('answers[]', value);
});
答案 1 :(得分:0)
问题是$('input[name="answer[]"]').val()
并不能满足您的需求;它返回第一个输入元素的值。相反,您需要一组值:
var values = [];
$('input[name="answer[]"]').each(function(i, item) {
values.push(item.value);
});
fdata.append('answers[]', values);