<script type ="text/javascript">
function readFile() {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var url = document.getElementsByTagName("file")
var file = fso.OpenTextFile(url, 1, false);
while (!file.atendofstream) {
var content = file.ReadAll();
} file.close();
alert(content);
}
</script>
<input id="Button1" type="button" value="button" onclick="readFile();" />
<input id="File1" type="file" value="" name ="file"/ >
弹出的是undefined,为什么?
function readFile() {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var url = document.getElementsByTagName("file")
var file = fso.OpenTextFile(url, 1, false);
while (!file.atendofstream) {
var content = file.ReadAll();
} file.close();
alert(content);
}
</script>
<input id="Button1" type="button" value="button" onclick="readFile();" />
<input id="File1" type="file" value="" name ="file"/ >
弹出的是undefined,为什么?
var file = fso.OpenTextFile(url, 1, false); //这一句里取出来的 file 是文件路径?
楼主是想读出所选择的文件的内容?
你这句取的只是一系列的控件,并不是控件值,你可以尝试一下
var url = document.getElementsByTagName("file")[0].value如果不行那请贴出你的HTML
while (!file.atendofstream) {
var content = file.ReadAll();
} file.close();
alert(content);
}你定义的content是局部变量。你说在循环外面还能取到值麽
修改如下:
var url = document.getElementById("File1").value 或者 var url = document.getElementsByName("file").value
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body onload="">
<script type ="text/javascript">
function readFile() {
var fso = new ActiveXObject("Scripting.FileSystemObject");
alert(fso);
var url = document.getElementById("File1").value;
alert(url);
var file = fso.OpenTextFile(url,1, false);
// alert(file);
while (!file.atendofstream) {
var content = file.ReadAll();
} file.close();
alert(content);
}
</script>
<input id="Button1" type="button" value="button" onclick="readFile();" />
<input id="File1" type="file" value="" name ="file"/ >
</body>
</html>
只能用ID取到INPUT的value ,不能用name取到该value值;
而且这个ActiveXObject("Scripting.FileSystemObject")操作文件方法在火狐中无效。据说火狐不支持获取url的方法。而且我查了半天,也没找出同样效果的兼容办法。
不知哪位大牛有办法解决?
function readFile() {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var url = document.getElementsByTagName("input")[1].value; //or document.getElementByID("File1").value
var file = fso.OpenTextFile(url, 1, false);
while (!file.atendofstream) {
content = file.ReadAll();
}
file.close();
alert(content);
}