【问题标题】:jQuery ajaxForm plugin double file uploadjQuery ajaxForm 插件双文件上传
【发布时间】:2017-03-06 17:59:08
【问题描述】:

所以我已经搜索了所有互联网的答案,但没有... 问题是使用 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 中获取每秒文件的唯一方法吗?

【问题讨论】:

  • 是否需要使用插件?
  • @Janis 你的 JS 代码是如何执行的?
  • 不,这不是要求。有什么建议吗?它首先在html文件中执行。

标签: javascript jquery jquery-file-upload ajaxform malsup-ajax-form


【解决方案1】:

我可以重现该问题。看起来表单插件不支持 form="gallery" 属性。带有form 属性的每个输入元素(不仅仅是type="file")都被提交了两次,即使实际在表单之外。

【讨论】:

  • 你真是个天才。谢谢大佬,拯救了一天。那是因为我在表单中有表单,所以一个表单不会提交另一个表单,依此类推。但我处理了它并且它有效,再次感谢男人。
猜你喜欢
  • 2016-01-03
  • 2013-11-20
  • 1970-01-01
  • 2012-01-30
  • 2010-12-18
  • 2013-12-19
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
相关资源
最近更新 更多