jQuery ajaxForm插件双文件上传
jQuery ajaxForm plugin double file upload
所以我在整个互联网上搜索了答案,但一无所获...
问题是使用 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 中获取每隔一个文件的唯一方法吗?
我可以重现这个问题。看起来表单插件不支持 form="gallery"
属性。每个具有 form
属性的输入元素(不仅仅是 type="file"
)被提交两次,即使物理上位于表单之外。
所以我在整个互联网上搜索了答案,但一无所获... 问题是使用 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 中获取每隔一个文件的唯一方法吗?
我可以重现这个问题。看起来表单插件不支持 form="gallery"
属性。每个具有 form
属性的输入元素(不仅仅是 type="file"
)被提交两次,即使物理上位于表单之外。