Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вывод таблицы в .innerHTML, табличка одельно - данные одельно  
:(
    Опции темы
Leshak
Дата 9.7.2009, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 19.10.2005

Репутация: нет
Всего: нет



ищу Помощи!
может Опять где-то что-то НеВижу :(

итак - нужно вывести табличку 


Код

<body  onload="doShow();"   >
<div id="div_c">............<br></div>
<hr>
<script language="JavaScript">
    var div_c = document.getElementById('div_c');        //   

    function doShow(){
        div_c.innerHTML += "<table border='3' ><tbody><tr>" ;
        div_c.innerHTML += "<td>начали </td>" ;
        for (var jn=1; jn<9; jn++) { 
            div_c.innerHTML += "<td>: "+jn+" :</td>" ;
        } 
        div_c.innerHTML += "<td> кончили</td></tr></tbody></table>" ;    
    };
</script>
</body>


смотрю результат
Код

<div id="div_c">............<br><table border="3"><tbody><tr></tr></tbody></table>начали : 1 :: 2 :: 3 :: 4 :: 5 :: 6 :: 7 :: 8 : кончили</div>
<hr>


и ничего не понимаю - почему табличка одельно, а данные одельно ?

PM MAIL   Вверх
bars80080
Дата 9.7.2009, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



ессно, таблицу в хтмл надо формировать с помощью методов insertRow, insertCell

Код

    var div_c = document.getElementById('div_c');        //   

    function doShow(){
        div_c.innerHTML += '<table id="qw" border="3" >' ;
        var t = document.getElementById('qw');
        var tr = t.insertRow(0);
        var td = tr.insertCell(0);
        td.innerHTML = "начали " ;
        for (var jn=1; jn<9; jn++) { 
              td = tr.insertCell(jn);
              td.innerHTML = ": "+jn+" :" ;
        } 
        td = tr.insertCell(jn);
        td.innerHTML = " кончили" ;    
    };

PM MAIL WWW   Вверх
Leshak
Дата 9.7.2009, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 19.10.2005

Репутация: нет
Всего: нет



bars80080, Спасибо!
Все работает! 
 а главное - красиво и правильно! 
PM MAIL   Вверх
ksnk
Дата 9.7.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Leshak, Нужно было вставлять ее единой строкой. innerHTML - это не атрибут, а офигенно навороченная функция, которая все это добро сразу вставляет на место, пытается понять чего-ж от нее хотят, корректирует получившийся текст в меру своего понимания и выводит на экран, в одном флаконе. Если заставлять ее делать это на каждую ячейку таблицы, у получившейся разметки сносит крышу.
Код

    function doShow(){
        var table = "<table border='3' ><tbody><tr>" +
         "<td>начали </td>" ;
        for (var jn=1; jn<9; jn++) { 
            table += "<td>: "+jn+" :</td>" ;
        } 
        div_c.innerHTML += table+"<td> кончили</td></tr></tbody></table>" ;
   }  



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
bars80080
Дата 9.7.2009, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



ksnk, а в js случаем нет ограничения на максимальную длительность строки?
PM MAIL WWW   Вверх
ksnk
Дата 9.7.2009, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



bars80080, в JS не сталкивался. вроде нет. во всяком случае 3 мегабайта в строку из innerHTML запихать удавалось и падало уже дальше и не по этому поводу.  smile 
Однако на изображение строки (количество символов в тексте между кавычками) ограничения могут быть. В какой-то Опере древней я натыкался на 512 байт, однако сейчас усиленно использую json-формат, в котором (у меня в функции конвертирования) вообще не предусмотрено ограничений на длину строки и пока никаких вредных последствий не видел... Бывает и по 130 кил json-объект почти их одной строки...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1013 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.