我正在尝试在JavaScript中安装一个事件处理程序来完成加载文件的工作(我正在使用Chrome进行测试)。这是我正在使用的Javascript:
// file reader...
function handleFileSelect(evt)
{
alert('event changed called!');
var files = evt.target.files; // FileList object
// files is a FileList of File objects. List some properties.
var output = [];
f = files[0];
reader.readAsText(f);
var reader = new FileReader();
reader.onloadend = function(evt)
{
// alert(evt.target.result);
alert('moo!');
}
}
alert('adding event listener');
document.getElementById('files').addEventListener('change', handleFileSelect, false);
奇怪的是,警报没有触发,所以我假设我已经错误地安装了它们。我不确定错误是什么。有任何想法吗?
编辑:对不起,我应该提一下,它是没有触发的handleFileSelect(...)事件处理程序。
感谢您的时间......
答案 0 :(得分:2)
在将reader.readAsText(f);
分配给值之前,请致电reader
,因此尝试从未定义的值调用readAsText
时会出错。
var reader = new FileReader();
reader.readAsText(f);