enl*_*l01 0 html javascript jquery
我想要阅读并输出一个文本文件.Chrome控制台抱怨:
caught TypeError: Cannot read property '0' of undefined FinanceDashBoard.html:22"
不确定我做错了什么?
代码如下:
<html>
<head>
<title>Read File (via User Input selection)</title>
</head>
<body>
<main>
<label>Load a text database file: <input type="file" id="txtfile" ></label>
</main>
<script type="text/javascript">
var dbFileElm = document.getElementById('txtfile');
dbFileElm.onchange = function() {
var filePath = dbFileElm.files[0];
var reader = new FileReader();
var output = ""; //placeholder for text output
reader.onload = function (e) {
output = e.target.result;
displayContents(output);
}
reader.readAsText(filePath.files[0]);
}
// Ignore code below it doesn't work yet.
function displayContents(txt) {
var el = document.getElementById('main');
el.innerHTML = txt; //display output in DOM
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
两个错误.
1)改变这一行:
reader.readAsText(filePath.files[0]);
Run Code Online (Sandbox Code Playgroud)
对此:
reader.readAsText(filePath);
Run Code Online (Sandbox Code Playgroud)
因为filePath已经: dbFileElm.files[0];
2)main标签没有ID,因此按ID获取元素main将不起作用.
只需将其编辑为:
<main id="main">
Run Code Online (Sandbox Code Playgroud)