当我克隆文件输入时,克隆的输入不保留上传的文件。原始输入确实
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 会把它当作一个全新的或新鲜的元素。
当我克隆输入类型文件时,上传到克隆输入的文件碰巧附加到原始输入。就好像克隆输入正在代表原始输入并为其添加附件。
我正在通过以下方式克隆它: 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 会把它当作一个全新的或新鲜的元素。