我在使用.NET MVC构建的表单上有一个文件上载选项。
我有以下JavaScript列出我的fileList div中的选定文件。
updateList = function () {
var input = document.getElementById('file');
var output = document.getElementById('fileList');
output.innerHTML = '<ul>';
for (var i = 0; i < input.files.length; ++i) {
output.innerHTML += '<li>' + input.files.item(i).name + '<a onclick="removeFile()" href="javascript:void(0);">remove</a>' + '</li>';
}
output.innerHTML += '</ul>';
}
在每个文件旁边,我打印的“删除”文本将调用名为removeFile的函数。
从这里我被卡住了,我如何从列表中删除特定文件?任何帮助,将不胜感激!
我想,你想要删除标签:更改此行(将其添加到removeFile):
output.innerHTML += '<li>' + input.files.item(i).name + '<a onclick="removeFile(this)" href="javascript:void(0);">remove</a>' + '</li>';
然后定义removeFile:
removeFile = function(file) {
file.parentNode.parentNode.removeChild(file.parentNode);
}
如果你还想从列表中删除条目,你必须定义自己的数组,因为FileList对象是只读的:How do I remove a file from the FileList