文件阅读事件处理程序古怪与javascript / html5

时间:2013-01-13 18:35:47

标签: javascript html5

我正在尝试在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(...)事件处理程序。

感谢您的时间......

1 个答案:

答案 0 :(得分:2)

在将reader.readAsText(f);分配给值之前,请致电reader,因此尝试从未定义的值调用readAsText时会出错。

var reader = new FileReader();
reader.readAsText(f);