Формат <textarea> - PullRequest
       6

Формат <textarea>

0 голосов
/ 25 августа 2009
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>");
}  

Я бы хотел отредактировать прокручиваемую текстовую область, где я написал комментарий "// Как мне поставить разрыв строки здесь?"
В настоящее время он печатает все в одной строке / строке.

Выход:
Боб Дилан "" Империя БурлескБонни ТайлерUKСкрыть свое сердцеДолли ПартонСШАПрекрасные хитыГэри МурОК все еще получил блюзЭрос .......

Желаемый вывод:
Империя Боба Дилана
БурлескБонни Тайлер Спрячь свое сердце
Dolly Parton Greatest Hits
Гари Мур все еще получил блюз Эрос .......
и т.д.

Ответы [ 5 ]

2 голосов
/ 25 августа 2009

попробуй

document.write("\n")

в том месте, где у вас есть этот комментарий

1 голос
/ 25 августа 2009

Не переносите данные в текстовую область таким образом, это не удастся для символов, которые являются особенными в HTML. Например, если бы Майкл Джексон выпустил альбом под названием « alert ('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'; 
}
1 голос
/ 25 августа 2009

используйте \n для перевода строки, как в:

document.write("\n");
1 голос
/ 25 августа 2009

Новая строка в текстовой области - \n (это также верно для предупреждений JavaScript и подтверждает)

document.write("\n");

Пожалуйста, обратите внимание, что записи документов не совсем лучший способ достичь того, что вы пытаетесь сделать, и что, отвечая, я не одобряю это, я просто пытаюсь решить вашу проблему (это для всех педантов там - я знаю, я тоже один)

1 голос
/ 25 августа 2009

Замените ваш комментарий на
document.write("\n");

Текстовое содержимое основано на форматировании в HTML-документе. Когда вы выполняете document.write (), по умолчанию он не вставляет переводы строк, что делает HTML одной большой длинной строкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...