简体   繁体   English

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

[英]file reading event handler weirdness with javascript/html5

I'm trying to install an event handler in JavaScript to do some work on loading a file (I'm testing using Chrome). 我正在尝试在JavaScript中安装一个事件处理程序来完成加载文件的工作(我正在使用Chrome进行测试)。 This is the Javascript I'm using: 这是我正在使用的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);  

The weird thing is that the alerts aren't firing, so I'm assuming that I've installed them incorrectly. 奇怪的是,警报没有触发,所以我假设我已经错误地安装了它们。 I'm not sure what the mistake is though. 我不确定错误是什么。 Any ideas? 有任何想法吗?

EDIT: Sorry, I should mention that it's the handleFileSelect(...) event handler that isn't firing. 编辑:对不起,我应该提到它是没有触发的handleFileSelect(...)事件处理程序。

Thank you for your time... 感谢您的时间...

You call reader.readAsText(f); 你打电话给reader.readAsText(f); before you assign reader to a value, so you get an error trying to call readAsText from an undefined value. 在为数据库分配reader之前,尝试readAsText定义的值调用readAsText会出错。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM