2009-08-24 46 views
0
function text_window() 
{ 

var xmlDoc; 
if (window.XMLHttpRequest) 
    { 
    xmlDoc=new window.XMLHttpRequest(); 
    xmlDoc.open("GET","cd_catalog.xml",false); 
    xmlDoc.send(""); 
    xmlDoc=xmlDoc.responseXML; 
    } 
// IE 5 and IE 6 
else if (ActiveXObject("Microsoft.XMLDOM")) 
    { 
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
    xmlDoc.async=false; 
    xmlDoc.load("cd_catalog.xml"); 
    } 

document.write("<textarea rows=\"10\" cols=\"90\" ID=\"Textarea1\" NAME=\"Textarea1\" readonly=\"readonly\">"); 

var x=xmlDoc.getElementsByTagName("CD"); 
for (i=0;i<x.length;i++) 
    { 
    document.write(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue); 

//How do I put a line break here? 

    document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue); 
    } 
document.write("</textarea>"); 
} 

我想編輯滾動的textarea,我寫評論「//如何在這裏放置換行符?
目前,它將全部打印在同一行/行上。格式<textarea>

輸出:
鮑勃·迪倫」,「帝國BurlesqueBonnie TylerUKHide您heartDolly PartonUSAGreatest HitsGary MooreUKStill得到了bluesEros .......

所需的輸出:
鮑勃·迪倫帝國
BurlesqueBonnie泰勒隱藏你的心臟
多莉·帕頓精選
加里·摩爾還是得到了bluesEros .......

回答

2

在你有評論

+0

什麼?我以爲我嘗試過,不要猜測。謝謝。 – 2009-08-24 20:24:59

1

的地方嘗試

document.write("\n") 

替換
document.write("\n");

textarea的內容您的評論是基於關閉HTML文檔中的格式。當你做一個document.write()時,默認情況下它不會放入任何換行符,這使HTML成爲一個很長的字符串。

1

在一個textarea的新線是\n(這也是JavaScript警告和確認真)

document.write("\n"); 

請注意,文件寫入是不完全實現你想要什麼樣的最佳方式做和通過回答我不是寬恕它我只是搭售解決你的問題(這是所有的兜售者在那裏 - 我知道,我也是)

1

使用\n爲換行符,作爲在:

document.write("\n"); 
1

不要將數據傳輸到像這樣的textarea中,它將失敗HTML中特殊的字符。例如,如果邁克爾傑克遜製作了一張名爲「</textarea> < script> alert('POTATO!')的專輯; </script>「你真的會遇到麻煩。

(我不記得他是否實際上做或沒有。也許這就是萊昂納爾·裏奇。POTATO!)

相反,它會更容易直接寫文本區域的價值。例如:

document.write('<textarea rows="10" cols="90" ID="Textarea1" NAME="Textarea1" readonly="readonly"></textarea>'); 
var area= document.getElementById('Textarea1'); 

for (i=0; i<x.length; i++) { 
    var artist= x[i].getElementsByTagName("ARTIST")[0].firstChild.data; 
    var title= x[i].getElementsByTagName("TITLE")[0].firstChild.data; 
    area.value+= artist+'\n'+title+'\n'; 
}