gpt4 book ai didi

jquery - 重置输入字段后变量变空

转载 作者:行者123 更新时间:2023-12-01 01:21:48 25 4
gpt4 key购买 nike

<input type="file" onchange="uploadFiles()" multiple/>

将输入值存储到变量中并重置输入字段后,变量变空

function uploadFiles(){
var newFiles = $('input')[0].files;
$('input').replaceWith($('input').val('').clone(true));
console.log(newFiles); // result == []
}

请问我该如何解决这个问题?

最佳答案

$('input')[0].files 为您提供 FileList附加到它的input的属性。更改输入的值将导致更改属性的值及其所有分配。

您可以通过将文件添加到单独的数组来解决该问题:

var newFiles = $('input')[0].files;
var filesArray = [];
for(var i=0; i<newFiles.length; i++){
filesArray[i] = newFiles[i];
}
$('input').replaceWith($('input').val('').clone(true));
console.log(newFiles); // result == []
console.log(filesArray); // result == [File]

Demo

注意:出于安全原因,在更改原始输入的值后,您可能会或可能不会按预期使用文件。不过我还没有测试过。如果您能确认或揭穿,请发表评论。

关于jquery - 重置输入字段后变量变空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44623680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com