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

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

本文关键字:输入 文件 原始 保留      更新时间:2023-09-26

当我克隆输入类型文件时,上传到克隆输入的文件恰好附加到原始输入。就好像克隆的输入正在表示并获取原始的附件一样。

我按以下方式克隆它:clonedInput = $('input[type=file]').clone(true)是否可以克隆文件输入并独立使用它?还是有其他方法可以解决这个问题。

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

该问题的解决方案是将 html 转换为带有 .prop("outerHTML") 的字符串,然后将其转换回带有 $.parseHTML() 的 html 元素,以便 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);
            });