2013-05-30 60 views
1

我想用文件的內容填充一個html列表框(選擇標籤)(即文件的每一行應該成爲列表框中的單個選項(select element))。如何動態地填充文件內容的列表框?

假設我有一個文件,說含

s1.txt 
s2.txt 
s3.txt 
s4.txt 
s5.txt 

"load_lines.txt"有一個HTML表單

<html> 
    <head> 
    <title>List box Loading</title> 
    </head> 

    <body> 
    <form id="frm1" name="frm1" action="" method="GET"> 

     <select id="lb" name="lb" size="5"> 
     </select><br /><br /> 

     <input type="button" id="btn1" name="btn1" value="OK" /> 

    </form> 
    </body> 
</html> 

當窗體加載它應該填充列表框(選擇元素)與內容文件"load_lines.txt"

任何人都可以告訴如何使用javascript?請給出JavaScript代碼。

+3

我會建議使用PHP或ASP;看到如何在純JavaScript的跨語言閱讀器中閱讀純文本文件是不太可能的... – faino

+1

JavaScript運行在客戶端瀏覽器上,並且該文件位於服務器上的網頁所在的位置 - 您將不得不使用一些服務器端實現 –

+0

[這可能有幫助](http://www.htmlgoodies.com/beyond/javascript/read-text-files-using-the-javascript-filereader.html#fbid=l_8MkZJevpf),雖然它是一個HTML5功能,但尚未得到很好的支持。 – faino

回答

1

下面是完成工作的快速方法。希望這可以幫助。

<form id="frm1" name="frm1" action="" method="GET"> 
    <select id="lb" name="lb" size="5"></select> 
    <br /> 
    <br /> 
    <input type="button" id="btn1" name="btn1" value="OK" /> 
</form> 
<script> 
     var client = new XMLHttpRequest(); 
     client.open('GET', 'load_lines.txt'); 
     client.onreadystatechange = function() { 
       t = client.response 
       t = t.split('\n'); 
       var listbox; 
       for(i=0;i<t.length;i++){ 
         listbox +='<option value="'+i+'">'+t[i]+'</option>'; 
       } 
       document.getElementById('lb').innerHTML=listbox; 
     } 
     client.send(); 
</script> 
+0

它不起作用。列表框是空的。 – Rahul

+0

哦,它的工作需要一個gander http://just-lewis.com/list.php –

+0

@Rahul劉易斯的例子確實工作。請再試一次。 – gibberish