用户上传文件时添加新文件上传

时间:2014-07-28 19:43:13

标签: javascript jquery html file-upload

HTML / JS / jQuery初学者。

以下是我的一些HTML:

<form:hidden path="attachmentFile" id="attachment-file-location" value=""/>
<input type="file"
       id="attachedFile"
       onChange="uploadFile();"/>

和相关的JS:

 var oMyForm = new FormData();
 oMyForm.append("file", attachedFile.files[0]);
 $.ajax({
    //some stuff
    data: oMyForm,
    success: function(data) {
        $("#attachment-file-location").val(data);
    }
 });

这很好用,但我希望用户能够上传任意数量的文件,并且每当他们上传文件时都会出现新的文件上传。为此,我尝试添加此代码:

 var $newFileUpload = $("<input type=\"file\" id=\"attachedFile\" onChange=\"uploadFile();\"/>");
  $('#myDiv').append($newFileUpload);

因为它使用与前一代码相同的ID,所以我无法使用它来实际上传多个文件。

在UI和JS方面,我如何更好地处理多个文件的概念?在JS方面,我应该如何生成新的html文件输入?

1 个答案:

答案 0 :(得分:0)

您使用的浏览器是什么?如果将属性“multiple”添加到输入中,您的用户将能够根据需要选择任意数量的文件。您的输入看起来像这样:

<input type="file" id="attachedFile" onChange="uploadFile();" multiple />