所以我搜索了所有互联网的答案,但没有... 问题是使用ajaxForm malsup插件它会提交我的文件两次。
HTML:
<form id="gallery" enctype="multipart/form-data" action="/upload-gallery.php" method="post">
<input name="images[]" type="file" multiple form="gallery" id="gallery-upload" accept=".jpg,.gif,.jpeg,.png"/>
<input type="submit" value="Upload" form="gallery" class="btn btn-white" />
JS:
var options = {
clearForm: true,
beforeSend: function() {
},
uploadProgress: function(event, position, total, percentComplete) {
},
success: function(response) {
},
complete: function(response) {
},
error: function(){
},
target: $(".gallery-preview")
};
$("#gallery").ajaxForm(options);
PHP:
var_dump($_FILES);
响应:
我甚至将此代码添加到JS:
$('#gallery').on('submit', function(e) {
e.preventDefault();
e.stopPropagation();
return false;
});
但结果是一样的。怎么了?是用PHP获取每个第二个文件的唯一方法吗?
答案 0 :(得分:1)
我可以重现这个问题。看起来表单插件不支持form="gallery"
属性。每个具有type="file"
属性的输入元素(不仅仅是form
)都会被提交两次,即使是在表单之外也是如此。