在java脚本中读取文件时未定义
Undefined while reading file in java script
以下代码不工作:<br/>
我尝试使用Visual Studio调试。我在this.result
附近得到undefined
。
我尽了最大的努力去找出错误,但什么也没找到。
<body>
<br />
<br /><br />
<br />
<table align="center">
<tr>
<td>Number Of Nodes:</td>
<td> <input id="num" type="text" style="width:30px"/></td>
</tr><tr></tr>
<tr></tr>
<tr>
<td>
Adjacancy Matrix:
</td>
<td>
<input id="File1" type="file" />
</td>
</tr><tr></tr><tr></tr>
<tr>
<td>Node List Information:</td>
<td>
<input id="File2" type="file" />
</td>
</tr><tr></tr><tr></tr>
<tr>
<td>
Stopping Condition:</td>
<td>
<input id="File3" type="file" /></td>
</tr><tr></tr><tr></tr>
<tr>
<td>
Algorithm:</td>
<td>
<input id="bfs" type="radio" name="algo" value="BFS" />BFS
<input id="dfs" type="radio" name="algo" value="DFS" />DFS</td>
</tr><tr></tr><tr></tr><tr></tr>
<tr></tr><tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr>
<td></td>
<td>
<button id="complete" type="submit" value="Complete" onclick="completeClick()">Complete Traversal</button></td>
<td>
<button id="step" type="submit">Step-By-Step Traversal</button>
<script type="text/javascript">
var temp;
var line;
var vis;
var numofnodes;
function completeClick() {
numofnodes = parseInt(document.getElementById('num').value, 10);
temp = new Array(numofnodes);
vis = new Array(numofnodes);
document.getElementById('File1').onchange = function () {
var file = this.files[0];
var reade = new FileReader();
reade.onload = function (e) {
var lines = this.result.toString().split(''n');
for (var x = 0; x < lines.length; x++) {
var tmp = lines[x].toString().split(' ');
for (var m = 0; m < tmp.length; m++) {
temp[x][m] = tmp[m];
}
}
};
reade.readAsText(file);
};
document.getElementById('File2').onchange = function () {
var file = this.files[0];
var reade1 = new FileReader();
reade1.onload = function (e) {
line = this.result.toString().split(''n');
};
reade1.readAsText(file);
};
document.getElementById('print').innerHTML = "";
if (document.getElementById('bfs').checked) {
bfs(0);
}
else if (document.getElementById('dfs').checked) {
dfs(0);
}
};
function bfs(s) {
var queue = [];
for (var b = 0; b < numofnodes; b++) {
queue[b] = [];
}
var i, front, rear, root;
front = 0;
rear = 0;
vis[s] = 1;
print(s);
queue[rear+1] = s;
while(front!=rear)
{
root = queue[front];
for(i=0;i<numofnodes;i++)
{
if(temp[root,i]!=0 && vis[i]===0)
{
vis[i] = 1;
queue[rear+1] = i;
print(i);
}
}
front+=1;
}
};
function dfs(i) {
var j;
vis[i] = 1;
print(i);
for (j = 0; j < numofnodes; j++) {
if (vis[j] ===0) {
if (temp[i][j] === 1) {
dfs(j);
}
}
}
};
function print(i) {
document.getElementById('print').innerHTML += line[i].toString() + "<br/>";
};
</script>
</td>
</tr>
<tr><td id="print" class="print"></td></tr>
</table>
</body>
</html>
var temp是undefined
下面的更改(额外的2行-查找注释)应该可以修复它
document.getElementById('File1').onchange = function () {
var file = this.files[0];
var reade = new FileReader();
reade.onload = function (e) {
temp = []; // add this line
var lines = this.result.toString().split(''n');
for (var x = 0; x < lines.length; x++) {
var tmp = lines[x].toString().split(' ');
temp[x] = []; // add this line too
for (var m = 0; m < tmp.length; m++) {
temp[x][m] = tmp[m];
}
}
};
reade.readAsText(file);
};
相关文章:
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 在页面对象文件中验证sendKeys结果会导致未定义的错误(Protractor)
- 使用index.ts文件导出类会导致注入的构造函数中未定义
- JavaScript未定义的函数外部JavaScript文件
- Gulp uglified文件中未定义角度
- 在CoffeeScript文件上运行Jasmine测试时,对象未定义错误
- 导入的文件未定义
- 浏览并选择用户硬盘驱动器中的文件在IE中未定义
- jQuery文件上传和验证未定义函数
- 未定义节点不是server.js文件中的函数
- Typescirpt:XMLHttpRequest未在.ts文件中定义
- 在Node.js中,从同一文件中的另一个函数引用一个函数会导致'ReferenceError:-函数-未定义
- PHP未定义的索引(由jquery文件上传引起)
- JsLint4Java'未定义'使用多个.js文件时发出警告
- 通过php上传Angular JS文件——未定义的索引:
- TypeError:[].文件未定义.在jquery文件中发布
- 外部JavaScript文件未定义
- 文件未定义;Javascript与IMacros
- Jcrop和IE9图像文件未定义
- FileReader读取文件未定义的结果