在javascript中选择下拉选项时在文本区域加载文本文件
我创建了一个下拉列表,其中包含3个选项 A. B c 我想在同一页的文本区域加载一个本地文件,除了选择选项的下拉列表 例如,当我单击选项a时,文本区域上应显示a.txt的内容 当我点击选项b时,b.txt的内容应该显示在文本区域中在javascript中选择下拉选项时在文本区域加载文本文件,javascript,jquery,html,Javascript,Jquery,Html,我创建了一个下拉列表,其中包含3个选项 A. B c 我想在同一页的文本区域加载一个本地文件,除了选择选项的下拉列表 例如,当我单击选项a时,文本区域上应显示a.txt的内容 当我点击选项b时,b.txt的内容应该显示在文本区域中 请帮忙。你不应该用javascript做这件事。要访问文件系统,您需要一些服务器端语言,如C#或PHP。有新的文件系统API,但仅在现代浏览器(HTML5)中受支持,这将限制用户使用旧版本的协议 您需要使用HTML5文件系统API来读取本地文件 示例代码: fun
请帮忙。你不应该用javascript做这件事。要访问文件系统,您需要一些服务器端语言,如C#或PHP。有新的文件系统API,但仅在现代浏览器(HTML5)中受支持,这将限制用户使用旧版本的协议
您需要使用HTML5文件系统API来读取本地文件 示例代码:
function readSingleFile(evt) {
//Retrieve the first (and only!) File from the FileList object
var f = evt.target.files[0];
if (f) {
var r = new FileReader();
r.onload = function(e) {
var contents = e.target.result;
alert( "Got the file.n"
+"name: " + f.name + "n"
+"type: " + f.type + "n"
+"size: " + f.size + " bytesn"
+ "starts with: " + contents.substr(1, contents.indexOf("n"))
);
}
r.readAsText(f);
} else {
alert("Failed to load file");
}
}
document.getElementById('fileinput').addEventListener('change', readSingleFile, false);
更多详情可在这里查阅
如果您想在本地文件系统的浏览器中执行此操作,则不可能。至少您必须运行本地web服务器
在web服务器上,它看起来像这样:,只有您可以使用jQuery get如果您愿意,您可以在脚本中使用PHP(假设脚本位于.PHP文件中)
这是MVC应用程序的基本功能。是否要动态加载计算机上文本文件的内容并将其放入文本区域?您是只有客户端代码还是服务器端代码?是的,我想动态加载文本文件的内容。在MVC结构化应用程序中,在JSP上使用Java非常简单。谢谢。。但是我只想使用javascript。HTML5文件系统API只能在Chrome和Opera中使用,如果不用于特定的用例,它会有一些非常糟糕的安全漏洞。经过时间考验的方法是在MVC结构化应用程序的JSP上使用Java。。是的,和我想做的一样。你能告诉我如何使用jqueryget吗
<?php
function readTextFile($file) {
$myfile = fopen($file, "r") or die("Unable to open file!");
return str_replace("'", '"', fread($myfile, filesize($file)));
fclose($myfile);
};
?>
var optionsObject = {
a: '<?=readTextFile('/path/to/a.txt') ?>',
b: '<?=readTextFile('/path/to/b.txt') ?>',
c: '<?=readTextFile('/path/to/c.txt') ?>'
};
var optionsArray = [
'<?=readTextFile('/path/to/a.txt') ?>',
'<?=readTextFile('/path/to/b.txt') ?>',
'<?=readTextFile('/path/to/c.txt') ?>'
];