Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   как отобразить html а не текстовое содержимое его тегов (https://javascript.ru/forum/dom-window/17443-kak-otobrazit-html-ne-tekstovoe-soderzhimoe-ego-tegov.html)

zloyGamer 19.05.2011 15:48

как отобразить html а не текстовое содержимое его тегов
 
когда посылаю аякс запрос:
Код:

$.ajax({
        type: "POST",
        url: url_records,
        data: query_data,
        success: function(html,textStatus,jqXHR){
            // после получения результатов выводим список
            alert(html);  //тут все норм отображается
            //а дальше в любом из вариантов выводится тока текст без тегов tr, td
            //хотя первый тег - content выводится..
            //$("#info_box").html( html );
            document.getElementById("info_box").innerHTML = html;
            //$("#view_records [header]").after(html);
        });

подскажите пожалуста как вывести на странице полученный html без удаления в нем тегов tr, td?

Magneto 19.05.2011 17:03

В коде нужно заменить символы < и > на &lt; и &gt; и вывести его между тегами <pre> </pre>

zloyGamer 19.05.2011 17:15

>В коде нужно заменить символы < и > на &lt; и &gt; и вывести его между тегами <pre> </pre>
вы немного не так поняли, мне надо выводить html теги не для просмотра кода,
а надо вставить html теги с текстом в определенное место страницы,
чтобы сохранился не только текст но и html теги для его оформления..

тоесть когда я передаю:
<content>
<tr>
<td>текст11</td>
<td>текст12</td>
<td>текст13</td>
</tr>
<tr>
<td>текст21</td>
<td>текст22</td>
<td>текст23</td>
</tr>
</content>

но когда пытаюсь этот код добавить в блок на странице
$("#info_box").html( html );

то на странице уже получается:
<div id="info_box" >
<content>

текст11
текст12
текст13

текст21
текст22
текст23

</content>.
</div>

вопрос! как сохранить разметку? теги tr, td?

Magneto 19.05.2011 17:30

Нужно правильно сформировать таблицу:
<table>
  <tr>
      <td></td>
      <td></td>
      <td></td>
  </tr>
  <tr>
      <td></td>
      <td></td>
      <td></td>
  </tr>
</table>

zloyGamer 19.05.2011 17:41

таблица уже сформирована, надо только догрузить в неё несколько строк после заголовка...

изначально планоровалось просто добавить строки после заголовка полей:
$("#view_records [header]").after(html);

walik 19.05.2011 17:53

У тебя нет тега <table>

walik 19.05.2011 17:53

Цитата:

Сообщение от zloyGamer
таблица уже сформирована

У тебя только строки, а тег <table> где ?

Magneto 19.05.2011 17:55

Тогда нужно убрать все стороние теги.
Между <table> и <tr>, <tr> и <td> ничего не должно быть, и ничего не должно вставляться.
Другие элементы, текст, картинки и прочие теги можно вставлять только между <td> и </td>

zloyGamer 19.05.2011 18:01

таблица есть!, в неё надо внести строки..
вот
Код:

<script type="text/javascript">
$.ajax({
        type: "POST",
        url: url_records,
        data: query_data,
        success: function(html,textStatus,jqXHR){
            // после получения результатов выводим список
            alert(html);  //тут все норм отображается
            $("#view_records [header]").after(html); //а тут уже без tr td тегов
        });
</script>

<table id=view_records>
  <tr header=1><th>поля</th></tr>
  <!-- сюда надо добавить строки -->
</table>


zloyGamer 19.05.2011 18:11

<content> - это уже позже добавил этот тег, когда tr, и td невыводились

кстати если этиже td теги заключить в <b> тег
тоесть:
<tr>
<b><td>текст11</td></b>
<b><td>текст12</td></b>
<b><td>текст13</td></b>
</tr>

то получается:
<b>текст11</b>
<b>текст12</b>
<b>текст12</b>

просто срабатывает какаято предвалидация тегов перед выводом на страницу, незнаю как это отключить, вот и тестировал разные варианты..


Часовой пояс GMT +3, время: 20:19.