2009-08-24 6 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>

出力:
ボブ・ディラン」「帝国BurlesqueBonnie TylerUKHideあなたheartDolly PartonUSAGreatest HitsGary MooreUKStill bluesEros .......

所望の出力ました:
ボブ・ディラン帝国
BurlesqueBonnieタイラーはあなたの心を隠すを

ゲイリー・ムーアはまだbluesErosを得たドリー・パートングレイテストヒッツ.......
など

答えて

2

試みあなたはそのコメント

+0

何が?私はそれを試みたと思った。ありがとう。 –

1

を持っている場所で

document.write("\n") 


document.write("\n");

であなたのコメントを置き換えテキストエリアのコンテンツは、HTML文書のフォーマットをベースにしています。 document.write()を実行すると、デフォルトでは改行は入れられません。そのため、HTMLは大きな文字列になります。

1

テキストエリアに新しい行がある\n

document.write("\n"); 

その文書への書き込みが正確にあなたがしようとしているものを達成するための最良の方法ではありませんのでご注意ください(これはまた、javascriptのアラートと確認のために真です)私はあなたの問題を解決しようとしているだけです(これはすべてのペダントのためです)。

1

改行には\nを使用してください。 in:

document.write("\n"); 
1

このようなテキストエリアにデータを転送しないでください.HTMLに特有の文字では失敗します。たとえば、マイケルジャクソンが "</textarea> <というスクリプト> 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'; 
} 
関連する問題