1

我正在尝试创建一个文件上传系统。这个文件上传系统非常适合 mosot 部分。问题出现是因为页面上有多个 HTML 元素具有类file和多个 HTML 元素是upload-buttons. 现在文件上传仅适用于仅包含上传文本字段和上传按钮的第一个 HTML 元素,所有其他元素都无法正常工作(由于 Javascript 每次都选择 [0] 对象)。

我的问题是,如何调整下面的功能以适应使用的任何上传容器/按钮?

本质上需要发生的是,如果用户单击第 n 个上传按钮,则函数数组插槽需要以某种方式等于 n-1。

我感谢任何有关此问题的帮助。

提前谢谢了!

$(document).on('click','.upload-button', function(){
        var data = new FormData();

        jQuery.each($('.file')[0].files, function(i, file) {
            data.append('file-'+i, file);
        });
            //Some more code...
});

HTML

     <div class="input-text-field">
         <input name="userfile" class="file" type="file" />
         <input class="submit upload-button" type="submit" value="Upload" />
     </div>
4

1 回答 1

3

用于prev()仅针对前一个.file元素,并注意您的代码没有.file元素,它有一个#file 元素,并且多个 ID 是无效的。

$(document).on('click','.upload-button', function(){
        var data = new FormData();

        jQuery.each($(this).prev('.file')[0].files, function(i, file) {
            data.append('file-'+i, file);
        });
            //Some more code...
});

html

<div class="input-text-field">
     <input name="userfile" class="file" type="file" />
     <input class="submit upload-button" type="submit" value="Upload" />
 </div>
于 2013-03-13T23:03:49.873 回答