Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 24

Вывод значений в таблицу из input-ов

09.01.2019, 17:31. Показов 4120. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте. Мне нужно вывести данные из бд в таблицу html, которая состоит из input-ов (вывод в значение атрибута value). Я худо-бедно разобрался с простым выводом данных в таблицу (слепил из того что нашёл в интернете), а вот с input-ами не получается. В браузере пишет "Cannot read property 'setAttribute' of undefined". Вот часть кода, которая отвечает за отображение таблицы:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
         var body = document.getElementsByTagName('body')[0];
    var tbl = document.createElement('table');   
    tbl.setAttribute('border', '1');
    //let th=document.createElement('thead');
    let inp=document.createElement('input')
    inp.setAttribute('value', clientObj.obj['product_name'])
    var tbdy = document.createElement('tbody');
    var thead=document.createElement('thead')
    thead.innerHTML='<tr><td>Наименование продукта</td><td>Сертификация(схема)/Декларация</td>'+
            '<td>Наименование заказчика</td><td>Договор (№ и дата)</td>'+
           '...'
               tbl.appendChild(thead)
 
    for (var i = 0; i < 1; i++) {
        var tr = document.createElement('tr');
        for (let key in clientObj.obj) {            
            var td = document.createElement('td');
            //var inp=document.createElement('input')
            var t = document.createTextNode(clientObj.obj[key]);
            //var t=document.setAttribute('value', clientObj.obj[key])
            //inp.appendChild(t)
            td.appendChild(t);
            //td.appendChild(inp)             
            tr.appendChild(td);            
        }
        
        tbdy.appendChild(tr);
    }
    
    tbl.appendChild(tbdy);
    body.appendChild(tbl)
    body.appendChild(inp)
   }
}
То есть строка 6 выводит, а в самом цикле не получается.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.01.2019, 17:31
Ответы с готовыми решениями:

Вывод значений из БД в input
Привет всем. Хочу понять почему из БД информация выводится в input не вся, а только последняя строка в БД, а если вывожу в ячейки...

Вывод значений в таблицу
Подскажите, что изменить в программе, чтобы значения x и F выводились в таблицу? #include &lt;iostream.h&gt; #include &lt;math.h&gt;...

Вывод значений в форму и таблицу
Суть такая.. есть некая база с некими таблицами т1 т2 т3 , по этим таблицам делается запрос на сортировку по дате (т.е по интервалу,...

4
98 / 64 / 36
Регистрация: 04.12.2018
Сообщений: 158
09.01.2019, 19:50
Лучший ответ Сообщение было отмечено sk1ngr0s как решение

Решение

Внутри цикла нужно let вместо var. Или var вынести из цикла, а внутри оставить присваивание. В любом случае, не надо var и let смешивать.

В строке 6 inp.setAttribute('value',, а в цикле почему-то document.setAttribute('value',...

В общем, должно работать:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
    for (let i = 0; i < 1; i++) {
        let tr = document.createElement('tr');
        for (let key in clientObj.obj) {
            let td = document.createElement('td');
 
            let inp = document.createElement('input');
            inp.setAttribute('value', clientObj.obj[key]);
 
            td.appendChild(inp);
            tr.appendChild(td);
        }
        tbdy.appendChild(tr);
    }
1
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 24
10.01.2019, 10:03  [ТС]
Ой, спасибо! Как так то я не заметил?! Извините, но не подскажете ещё как сделать так, чтобы оно мне рисовало таблицу на другой странице? Просто я такой же спец в node.js, как и в html с js и не могу сделать одновременно вывод таблицы и получение данных с неё на одной странице)
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
10.01.2019, 10:44
Здравствуйте.
Одному мне показалось, что структура списка какая-то странная?
Вот список из более, чем единственной строки.
Здесь можно всё текстом забацать, а можно и элементы вставлять. Имхо, текстом слегка веселей.
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
    <style>
        table {
            border: 1px solid gray;
        }
 
        input {
            width: 100%
        }
    </style>
</head>
 
<body>
    <script>
        let clientObj = [
            {
                "product_name": "product1",
                "field2": "f2_1",
                "field3": "f3_1",
                "field4": "f4_1",
            },
            {
                "product_name": "product2",
                "field2": "f2_2",
                "field3": "f3_2",
                "field4": "f4_2",
            },
        ];
        let s = "<table><thead><tr><th>Наименование продукта</th><th>Сертификация(схема)/Декларация</th>" +
            "<th>Наименование заказчика</th><th>Договор (№ и дата)</th></tr></thead><tbody>";
        for (let i = 0; i < clientObj.length; ++i) {
            s += "<tr>";
            for (let key in clientObj[i]) {
                s += `<td><input value="${clientObj[i][key]}"></td>`;
            }
            s + "</tr>";
        }
        s += "</tbody><table>"
        document.body.insertAdjacentHTML("beforeend", s); // appendChild для текста
    </script>
</body>
</html>
1
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 24
11.01.2019, 19:32  [ТС]
Извините, но вы не подскажете как сделать так, чтобы таблица рисовалась на новой странице? Мне просто нужно сохранить изменённую таблицу в базу данных, а я не знаю как 2 запроса к одной странице прикрутить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.01.2019, 19:32
Помогаю со студенческими работами здесь

Вывод значений COUNT в таблицу
Есть БД с 2-мя таблицами: clients(id_cl, FIO) и books(id_book,id_cl, name). Нужно посчитать, какое количество книг принадлежит каждому...

Обработка формы и вывод значений в таблицу
Задание: Пользователь вводит число в форму на странице и нажимает кнопку «Ввод». После этого на страницу выводится таблица. В первом...

Вывод данных из массива в таблицу по n значений
Необходимо сделать вывод в таблицу по n значений. Т.е берем например 50 первых значений из массива. Делаем табличку в две колонки. ...

Вычисление и вывод значений функции в таблицу
Составить блок-схему алгоритма и программу с использованием цикла с предусловием или постусловием для вычисления и вывода на экран таблицы...

Динамический вывод реквизитов справочников в таблицу значений
Доброе утро. Я недавно начал изучать 1С 7.7 Нужно динамический выводить реквизиты справочников в таблицу значений. Я сделал выбор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru