与HTML5 FileReader混淆

时间:2016-10-11 05:39:40

标签: html5 filereader

我对API的理解告诉我输出文本文件内容(来自输入标签)的代码应如下所示。我不知道如何使用事件对象。我在Mozilla Developer文档上阅读的内容越多。我越弄糊涂了。

<script>
function f(event)
{
    alert("Just to check if the function is triggered");
    var r = new FileReader() ;
    r.onload = function()
    {
       alert (r.readAsText(document.getElementById['f'].files[0])) ;  
    }

}
   </script>

    <input type="file" id="f" onchange="f(event);" />

更改事件会触发该功能,但在执行第一行(警报消息)后没有任何反应。也没有错误消息。有人可以帮助我解决我的错误。

1 个答案:

答案 0 :(得分:0)

您正在附加onload事件,但您没有做任何会导致事件触发的事情。您必须将readAsText()呼叫移到外部而不是处理程序中。

正如MDN documentation所说onload

  

FileReader.onload属性包含在触发事件时执行的事件处理程序,当使用readAsArrayBuffer,readAsBinaryString,readAsDataURL或readAsText读取的内容可用时。