我一直在对一小段代码进行故障排除,该代码旨在允许用户选择本地文件,将本地文件的文本内容输入到变量中,然后将变量值转储到 textarea 中。
这一切都很好,用户可以选择一个文件,然后在我的 textarea 中查看文件的内容。这是问题所在,我有一个名为“ClearAll”的按钮,它清除了 textarea 值。如果用户随后再次选择本地文件,则不会发生任何事情,并且文本区域永远不会被本地文件内容填充。
所以总而言之,选择一个本地文件一次可以,但第二次不行。
这是我的代码:
<input type="file" id="files" name="file" /><br>
<script>
function handleFileSelect(evt) {
var files = document.getElementById('files').files;
if (!files.length) {
alert('Please select a file!');
return;
}
var file = files[0];
var reader = new FileReader();
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) { // DONE == 2
document.getElementById('myInput').textContent = evt.target.result;
}
};
reader.readAsText(file, "UTF-8");
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
...而且我还有一个按钮,只需将其值设置为=""
. 由于某种原因,textarea 人口只能工作一次。谁能明白这是为什么?
快速评论:我想如果我更改files
ClearAll 按钮激活时的内容,它可能会重置东西,但没有运气。