【发布时间】:2016-11-21 13:17:19
【问题描述】:
我完全不知道为什么我的代码无法运行。在控制台中没有错误。编辑:添加更多代码
<!DOCTYPE html>
<meta charset="utf-8">
<style>
html {
font-family: Helvetica, Arial, sans-serif;
font-size: 100%;
font color: white;
background: #333;
}
#page-wrapper {
width: 600px;
background: #FFF;
padding: 1em;
margin: 1em auto;
min-height: 300px;
border-top: 5px solid #69c773;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
}
h1 {
margin-top: 0;
}
#fileDisplayArea {
margin-top: 2em;
width: 100%;
overflow-x: auto;
}
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
width: 960px;
height: 500px;
position: relative;
}
</style>
<body>
<div id="page-wrapper">
<h1>File to Matrix</h1>
<div>
Select a text file:
<input type="file" id="fileInput">
</div>
<pre id="fileDisplayArea"><pre>
</div>
</body>
<script>
var data = []; //will hold data from file
window.onload = function() {
var fileInput = document.getElementById('fileInput');
var fileDisplayArea = document.getElementById('fileDisplayArea');
fileInput.addEventListener('change', function(e) {
var file = fileInput.files[0];
var reader = new FileReader();
var str = '';
reader.onload = function(e) {
str = reader.result;
alert("does this even ever run?");
var temp = str.split('\n');
for(var i = 0; i < temp.length; i++)
data.push(temp[i].split('\t'));
}
alert("this runs");
});
}
</script>
尝试读取用户选择的 .tsv,并将数据转换为矩阵。reader.onload = function(e){} 行不会运行,因为警报永远不会弹出,并且数据仍然是空白的。
感谢任何帮助。
谢谢
【问题讨论】:
-
这个网站可能有帮助:javascripture.com/FileReader
-
您需要创建一个minimal, complete, verifiable example:获得与您相同的错误所需的最小值。一个好的开始将是(但不一定限于)HTML。
-
那么那个 fileReader 应该读取什么,你没有向它传递任何东西,所以没有什么要加载,因此没有
onload事件? -
为了更清楚,您可能希望在
onload()函数下方添加类似reader.readAsDataURL(file);的内容。 -
第一个评论是回答您问题的链接。你还想要什么?
标签: javascript filereader