通过javascript函数将文件读入html列表框

通过javascript函数将文件读入html列表框,javascript,html,web,listbox,Javascript,Html,Web,Listbox,我一直在尝试从文件中读取数据,并使用java脚本将其显示到html页面中的某种listBov中。 我已经尝试了很多种方法,但在IE、Firefox和Chrome上都没有可用的代码 有人试图这样做,但也没有成功: 文件1: index.html <html> <head> <script language="JavaScript" type="text/javascript" src="java.js"> </script> <body>

我一直在尝试从文件中读取数据,并使用java脚本将其显示到html页面中的某种listBov中。 我已经尝试了很多种方法,但在IE、Firefox和Chrome上都没有可用的代码

有人试图这样做,但也没有成功:

文件1: index.html

<html>
<head>
<script language="JavaScript" type="text/javascript" src="java.js">
</script>
<body>
<td><form name="listBox" action="javascript:void 0;">
<select name="listBox" size="10">
<option>Select your home location</option>
<option>unknown</option>
</select>
</form>
<script type="text/javascript" language="JavaScript">
    loadData();
   with (document.listBox) {
      listBox.options.length=0;
      for (var i=0; i<Table.length; i++) {
        listBox.options[listBox.options.length]=new Option(Table[i]);
      }
   }
   reset1();
</script>
</body>
</html>
我想要实现的是:

从文件中读取1到5000行之间的文本数据,并且该文件位于服务器端而不是本地浏览器端

将其显示在网页上的某种列表框中

它需要是可点击/可选择的,因为当用户选择项目5时,这一项需要保存到saved.txt中


感谢您的帮助

阅读文件并将其内容逐行添加到列表中,然后记录所选选项。我希望有帮助

读取文件 日志选择 函数readSingleFileevt{ //从FileList对象检索第一个也是唯一一个!文件 var f=evt.target.files[0]; 如果f{ var r=新文件读取器; r、 onload=函数{ var内容=e.target.result; 控制台。日志内容; var select=document.getElementById'list'; 变量行=内容。拆分'\n'; lines.mapfunctionline{ var docLine=document.createElement'option'; docLine.innerHTML=line; 选择.appendChilddocLine; }; } r、 readAsTextf; }否则{ 无法加载文件; } } document.getElementById'file-input'。addEventListener'change',readSingleFile,false; 已选择功能日志{ var select=document.getElementByIdlist; 所选var=[]; 对于变量i=0;i感谢您的代码,但在您的情况下,需要通过单击buton by user并在本地浏览器侧选择file来打开文件。但我需要在服务器端打开文件,而不使用服务器资源的交互,并让用户从列表框中选择一项。@wcale好的,您所做的只是一个ajax请求。
var Table = [];
var txtFile;

function loadData2() {
 Table = [];
 lines = txtFile.responseText.split("\n");
 for (i = 0; i < lines.length-1; i++) {
 Table.push(lines[i]);
 }
}

function loadData() {
var f = "dataFile.txt"; 
alert('01');
txtFile.open("GET", f, false);
alert('02');
txtFile.onreadystatechange=loadData2;
txtFile.send(null);
}
Data 01
Data 02
Data 03
end