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")被提交两次,即使物理上位于表单之外。