当我克隆文件输入时,克隆的输入不保留上传的文件。原始输入确实

When I clone a file input, the cloned input does not keep the uploaded file. The original input does

当我克隆输入类型文件时,上传到克隆输入的文件碰巧附加到原始输入。就好像克隆输入正在代表原始输入并为其添加附件。

我正在通过以下方式克隆它: clonedInput = $('input[type=file]').clone(真) 是否可以克隆文件输入并独立使用它? 还是有另一种方法来解决这个问题。

在 dom 上,用户可以选择通过单击复制第一个输入的按钮来上传多个文件,但复制不起作用,因为它将文件附加到原始输入.

使用 multiple 属性在单个 input type="file" 元素上传多个文件

<input type="file" multiple />

尝试给克隆的项目一个唯一的 ID,像这样:

clonedInput = $('input[type=file]').clone(true).attr("id",function(i,oldVal) {
            return oldVal.replace(/\d+/,function(m){
                return (+m + 1);
            });

问题的解决方案是使用 .prop("outerHTML") 将 html 转换为字符串,然后使用 $.parseHTML( ) 所以 dom 会把它当作一个全新的或新鲜的元素。