<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script>
window.onload = function(){
var oFile = document.getElementById('file');
var oList = document.getElementById('fileList');
var delNode = function(i){
console.log(i);
}
oFile.onchange = function(e){
if(this.files.length>2){
alert('最多选择两个文件!');
this.value = '';
}else{
for(var i=0;i<this.files.length;i++){
var node = document.createElement('li');
node.setAttribute('id','li_'+i);
var html = this.files[i].name+"<button title='btn_"+i+"' class='delBtn'>del</button>";
node.innerHTML = html;
oList.appendChild(node);
}
}
};
};
</script>
</head>
<body>
<input type="file" multiple id="file">
<ul id="fileList">
</ul>
<input type="button" value="Clear" id="clearBtn">
</body>
</html>

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
JS目前无法直接操作FileList对象,但我们还是可以处理的,我能想到的就是将FileList从原来的form提交方式抽离出来,可以使用xhr2的二进制方式提交。
比如下写法: