我的HTML5 / Javascript代码不会多次执行相同的功能
My HTML5/Javascript code won't perform the same function multiple times?
我一直在对一小段代码进行故障排除,该代码旨在允许用户选择本地文件,将本地文件的文本内容输入到变量中,然后将变量值转储到文本区域中。
这一切都很好用,用户可以选择一个文件,然后在我的文本区域中查看文件的内容。这就是问题所在,我有一个名为"ClearAll"的按钮,它可以清除文本区域值。如果用户随后再次选择本地文件,则不会发生任何反应,并且文本区域永远不会由本地文件内容填充。
因此,总而言之,选择本地文件一次有效,但第二次无效。
这是我的代码:
<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);
。我还有一个按钮,可以成功调用一个函数来清除文本区域,只需将其值设置为 =""
即可。出于某种原因,文本区域填充只工作一次。谁能明白这是为什么?
快速评论:我想如果我在激活 ClearAll 按钮时更改files
的内容,它可能会重置内容,但没有运气。
问题出在最后一行。 当您选择相同的文件名时,事件更改不会触发两次。重命名文件并查看其工作情况。
相关文章:
- 我想用Javascript网站在开放的Chrome浏览器上执行功能
- 如果在编辑中下拉值发生变化,如何执行功能
- 在周一上午8点至晚上7点之间执行功能
- 如何在ng中继器运行中执行功能
- 具有onclick功能的自定义复选框在实际切换复选框之前执行功能
- 基于条件执行功能
- 如何让chrome扩展在页面加载的后台执行功能
- 并行执行功能并等待其完成
- 必须点击两次按钮才能执行功能
- 在可过滤的剑道移动搜索框中键入时执行功能
- 故意暂停执行功能
- 当用户导航到特定部分时执行功能(地理位置)
- 必须单击按钮两次才能执行功能 - jQuery
- 在使用 react 和 material-ui 动态创建菜单项时,为什么 onTouchStart 会自动执行功能
- 如何在jQuery中单击两个按钮之一时执行功能
- 鼠标事件触发但未执行功能
- 如何在jquery中空闲10秒后执行功能
- 在Facebook分享后执行功能
- 如果文本框有焦点,按下特定键时执行功能
- 选择随机选项并执行功能