我对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);" />
更改事件会触发该功能,但在执行第一行(警报消息)后没有任何反应。也没有错误消息。有人可以帮助我解决我的错误。
答案 0 :(得分:0)
您正在附加onload
事件,但您没有做任何会导致事件触发的事情。您必须将readAsText()
呼叫移到外部而不是处理程序中。
正如MDN documentation所说onload
:
FileReader.onload属性包含在触发事件时执行的事件处理程序,当使用readAsArrayBuffer,readAsBinaryString,readAsDataURL或readAsText读取的内容可用时。