Форум программистов, компьютерный форум, киберфорум
WordPress
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
3 / 3 / 4
Регистрация: 09.07.2018
Сообщений: 279

Ошибка кода создания таблицы через HTML виджет

03.09.2018, 15:04. Показов 1262. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вставляю такой код в html-виджет - возникает ошибка на тег </table> (строка 43). Устранить не получается...
HTML5
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<style>
    #calendar3 {
        width: 100%;
        font-family: monospace;
        line-height: 1.2em;
        font-size: 15px;
        text-align: center;
    }
    #calendar3 thead tr:last-child {
        font-size: small;
        color: rgb(85, 85, 85);
    }
    #calendar3 tbody td {
        color: rgb(44, 86, 122);
    }
    #calendar3 tbody td:nth-child(n+6), #calendar3 .holiday {
        color: rgb(231, 140, 92);
    }
    #calendar3 tbody td.today {
        outline: 3px solid red;
    }
</style>
 
<table id="calendar3">
    <thead>
    <tr><td colspan="4"><select>
        <option value="0">Январь</option>
        <option value="1">Февраль</option>
        <option value="2">Март</option>
        <option value="3">Апрель</option>
        <option value="4">Май</option>
        <option value="5">Июнь</option>
        <option value="6">Июль</option>
        <option value="7">Август</option>
        <option value="8">Сентябрь</option>
        <option value="9">Октябрь</option>
        <option value="10">Ноябрь</option>
        <option value="11">Декабрь</option>
    </select><td colspan="3"><input type="number" value="" min="0" max="9999" size="4">
    <tr><td>Пн<td>Вт<td>Ср<td>Чт<td>Пт<td>Сб<>Вс</td></tr>
    </thead>
    <tbody>
</table>
 
    <script>
        function Calendar3(id, year, month) {
            var Dlast = new Date(year,month+1,0).getDate(),
                D = new Date(year,month,Dlast),
                DNlast = D.getDay(),
                DNfirst = new Date(D.getFullYear(),D.getMonth(),1).getDay(),
                calendar = '<tr>',
                m = document.querySelector('#'+id+' option[value="' + D.getMonth() + '"]'),
                g = document.querySelector('#'+id+' input');
            if (DNfirst != 0) {
                for(var  i = 1; i < DNfirst; i++) calendar += '<td>';
            }else{
                for(var  i = 0; i < 6; i++) calendar += '<td>';
            }
            for(var  i = 1; i <= Dlast; i++) {
                if (i == new Date().getDate() && D.getFullYear() == new Date().getFullYear() && D.getMonth() == new Date().getMonth()) {
                    calendar += '<td class="today">' + i;
                }else{
                    if (  // список официальных праздников
                        (i == 1 && D.getMonth() == 0 && ((D.getFullYear() > 1897 && D.getFullYear() < 1930) || D.getFullYear() > 1947)) || // Новый год
                        (i == 2 && D.getMonth() == 0 && D.getFullYear() > 1992) || // Новый год
                        ((i == 3 || i == 4 || i == 5 || i == 6 || i == 8) && D.getMonth() == 0 && D.getFullYear() > 2004) || // Новый год
                        (i == 7 && D.getMonth() == 0 && D.getFullYear() > 1990) || // Рождество Христово
                        (i == 23 && D.getMonth() == 1 && D.getFullYear() > 2001) || // День защитника Отечества
                        (i == 8 && D.getMonth() == 2 && D.getFullYear() > 1965) || // Международный женский день
                        (i == 1 && D.getMonth() == 4 && D.getFullYear() > 1917) || // Праздник Весны и Труда
                        (i == 9 && D.getMonth() == 4 && D.getFullYear() > 1964) || // День Победы
                        (i == 12 && D.getMonth() == 5 && D.getFullYear() > 1990) || // День России (декларации о государственном суверенитете Российской Федерации ознаменовала окончательный Распад СССР)
                        (i == 7 && D.getMonth() == 10 && (D.getFullYear() > 1926 && D.getFullYear() < 2005)) || // Октябрьская революция 1917 года
                        (i == 8 && D.getMonth() == 10 && (D.getFullYear() > 1926 && D.getFullYear() < 1992)) || // Октябрьская революция 1917 года
                        (i == 4 && D.getMonth() == 10 && D.getFullYear() > 2004) // День народного единства, который заменил Октябрьскую революцию 1917 года
                    ) {
                        calendar += '<td class="holiday">' + i;
                    }else{
                        calendar += '<td>' + i;
                    }
                }
                if (new Date(D.getFullYear(),D.getMonth(),i).getDay() == 0) {
                    calendar += '<tr>';
                }
            }
            for(var  i = DNlast; i < 7; i++) calendar += '<td>&nbsp;';
            document.querySelector('#'+id+' tbody').innerHTML = calendar;
            g.value = D.getFullYear();
            m.selected = true;
            if (document.querySelectorAll('#'+id+' tbody tr').length < 6) {
                document.querySelector('#'+id+' tbody').innerHTML += '<tr><td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;';
            }
            document.querySelector('#'+id+' option[value="' + new Date().getMonth() + '"]').style.color = 'rgb(220, 0, 0)'; // в выпадающем списке выделен текущий месяц
        }
        Calendar3("calendar3",new Date().getFullYear(),new Date().getMonth());
        document.querySelector('#calendar3').onchange = function Kalendar3() {
            Calendar3("calendar3",document.querySelector('#calendar3 input').value,parseFloat(document.querySelector('#calendar3 select').options[document.querySelector('#calendar3 select').selectedIndex].value));
        }
    </script>
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.09.2018, 15:04
Ответы с готовыми решениями:

Написание кода для создания таблицы на html
Здравствуйте. Интересует проблема написания html кода для этих двух таблиц с учтенными замечаниями в приложенных мною картинках. Не могли...

ошибка создания таблицы при генерации кода в майскль воркбенч
Кто нибудь видит, в чем проблема?????????? Executing SQL script in server ERROR: Error 1005: Can't create table 'mydb.Desired_Job'...

Произвольные коды HTML PHP через виджет
Задача простая - есть лендинг и другие страницы где нужно выводить и часто менять дату (и другие тексты с HTML кодом) в разных местах...

6
 Аватар для HectorPrima
716 / 473 / 258
Регистрация: 19.12.2014
Сообщений: 1,801
03.09.2018, 17:10
HTML5
1
<tbody>
почему не закрыт?
0
3 / 3 / 4
Регистрация: 09.07.2018
Сообщений: 279
03.09.2018, 22:02  [ТС]
HectorPrima, так было изначально в коде. PHPstorm и wordpress не ругался на это tbody, попробую закрыть
0
 Аватар для HectorPrima
716 / 473 / 258
Регистрация: 19.12.2014
Сообщений: 1,801
04.09.2018, 01:47
Лучший ответ Сообщение было отмечено jurvrn как решение

Решение

Извиняюсь. Вчера плохо посмотрел. У вас там весь html код таблицы кривой.
Вот корректный. Именно код таблицы:
HTML5
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
<table id="calendar3">
    <thead>
    <tr>
        <td colspan="4"><select>
            <option value="0">Январь</option>
            <option value="1">Февраль</option>
            <option value="2">Март</option>
            <option value="3">Апрель</option>
            <option value="4">Май</option>
            <option value="5">Июнь</option>
            <option value="6">Июль</option>
            <option value="7">Август</option>
            <option value="8">Сентябрь</option>
            <option value="9">Октябрь</option>
            <option value="10">Ноябрь</option>
            <option value="11">Декабрь</option>
        </select>
        </td>
        <td colspan="3"><input type="number" value="" min="0" max="9999" size="4"></td>
    </tr>
    <tr>
        <td>Пн</td>
        <td>Вт</td>
        <td>Ср</td>
        <td>Чт</td>
        <td>Пт</td>
        <td>Сб</td>
        <td>Вс</td>
    </tr>
    </thead>
    <tbody></tbody>
</table>
Добавлено через 2 минуты
Ну и обратите внимание что если прокрутить текст в HTML виджете то там все ошибки показаны.
Поднести мышку к кружку и прочитать!
1
3 / 3 / 4
Регистрация: 09.07.2018
Сообщений: 279
04.09.2018, 10:54  [ТС]
Цитата Сообщение от HectorPrima Посмотреть сообщение
Ну и обратите внимание что если прокрутить текст в HTML виджете то там все ошибки показаны.
Поднести мышку к кружку и прочитать!
да я видел, но по английски не понимаю смысл этих слов
0
3 / 3 / 4
Регистрация: 09.07.2018
Сообщений: 279
11.09.2018, 18:27  [ТС]
HectorPrima, проблема вылезла - пометил код в виджет - поле года расползлось и большой отступ выходных дней. Вы могли бы это исправить?
Может его просто в div вложить?
сайт jurvrn.ru
Миниатюры
Ошибка кода создания таблицы через HTML виджет  
0
3 / 3 / 4
Регистрация: 09.07.2018
Сообщений: 279
11.09.2018, 18:36  [ТС]
вот полный код
(PS. в правом сайд баре год не расползается, а выходные вообще не видно)
HTML5
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<style>
    #calendar3 {
        width: 100%;
        font-family: monospace;
        line-height: 1.2em;
        font-size: 15px;
        text-align: center;
    }
    #calendar3 thead tr:last-child {
        font-size: small;
        color: rgb(85, 85, 85);
    }
    #calendar3 tbody td {
        color: rgb(44, 86, 122);
    }
    #calendar3 tbody td:nth-child(n+6), #calendar3 .holiday {
        color: rgb(231, 140, 92);
    }
    #calendar3 tbody td.today {
        outline: 3px solid red;
    }
</style>
 
<table id="calendar3">
            <thead>
            <tr>
                    <td colspan="4"><select>
                            <option value="0">Январь</option>
                            <option value="1">Февраль</option>
                            <option value="2">Март</option>
                            <option value="3">Апрель</option>
                            <option value="4">Май</option>
                            <option value="5">Июнь</option>
                            <option value="6">Июль</option>
                            <option value="7">Август</option>
                            <option value="8">Сентябрь</option>
                            <option value="9">Октябрь</option>
                            <option value="10">Ноябрь</option>
                            <option value="11">Декабрь</option>
                    </select>
                    </td>
                    <td colspan="3"><input type="number" value="" min="0" max="9999" size="4"></td>
            </tr>
            <tr>
                    <td>Пн</td>
                    <td>Вт</td>
                    <td>Ср</td>
                    <td>Чт</td>
                    <td>Пт</td>
                    <td>Сб</td>
                    <td>Вс</td>
            </tr>
            </thead>
            <tbody></tbody>
</table>
    
<script>
    function Calendar3(id, year, month) {
        var Dlast = new Date(year,month+1,0).getDate(),
            D = new Date(year,month,Dlast),
            DNlast = D.getDay(),
            DNfirst = new Date(D.getFullYear(),D.getMonth(),1).getDay(),
            calendar = '<tr>',
            m = document.querySelector('#'+id+' option[value="' + D.getMonth() + '"]'),
            g = document.querySelector('#'+id+' input');
        if (DNfirst != 0) {
            for(var  i = 1; i < DNfirst; i++) calendar += '<td>';
        }else{
            for(var  i = 0; i < 6; i++) calendar += '<td>';
        }
        for(var  i = 1; i <= Dlast; i++) {
            if (i == new Date().getDate() && D.getFullYear() == new Date().getFullYear() && D.getMonth() == new Date().getMonth()) {
                calendar += '<td class="today">' + i;
            }else{
                if (  // список официальных праздников
                    (i == 1 && D.getMonth() == 0 && ((D.getFullYear() > 1897 && D.getFullYear() < 1930) || D.getFullYear() > 1947)) || // Новый год
                    (i == 2 && D.getMonth() == 0 && D.getFullYear() > 1992) || // Новый год
                    ((i == 3 || i == 4 || i == 5 || i == 6 || i == 8) && D.getMonth() == 0 && D.getFullYear() > 2004) || // Новый год
                    (i == 7 && D.getMonth() == 0 && D.getFullYear() > 1990) || // Рождество Христово
                    (i == 23 && D.getMonth() == 1 && D.getFullYear() > 2001) || // День защитника Отечества
                    (i == 8 && D.getMonth() == 2 && D.getFullYear() > 1965) || // Международный женский день
                    (i == 1 && D.getMonth() == 4 && D.getFullYear() > 1917) || // Праздник Весны и Труда
                    (i == 9 && D.getMonth() == 4 && D.getFullYear() > 1964) || // День Победы
                    (i == 12 && D.getMonth() == 5 && D.getFullYear() > 1990) || // День России (декларации о государственном суверенитете Российской Федерации ознаменовала окончательный Распад СССР)
                    (i == 7 && D.getMonth() == 10 && (D.getFullYear() > 1926 && D.getFullYear() < 2005)) || // Октябрьская революция 1917 года
                    (i == 8 && D.getMonth() == 10 && (D.getFullYear() > 1926 && D.getFullYear() < 1992)) || // Октябрьская революция 1917 года
                    (i == 4 && D.getMonth() == 10 && D.getFullYear() > 2004) // День народного единства, который заменил Октябрьскую революцию 1917 года
                ) {
                    calendar += '<td class="holiday">' + i;
                }else{
                    calendar += '<td>' + i;
                }
            }
            if (new Date(D.getFullYear(),D.getMonth(),i).getDay() == 0) {
                calendar += '<tr>';
            }
        }
        for(var  i = DNlast; i < 7; i++) calendar += '<td>&nbsp;';
        document.querySelector('#'+id+' tbody').innerHTML = calendar;
        g.value = D.getFullYear();
        m.selected = true;
        if (document.querySelectorAll('#'+id+' tbody tr').length < 6) {
            document.querySelector('#'+id+' tbody').innerHTML += '<tr><td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;';
        }
        document.querySelector('#'+id+' option[value="' + new Date().getMonth() + '"]').style.color = 'rgb(220, 0, 0)'; // в выпадающем списке выделен текущий месяц
    }
    Calendar3("calendar3",new Date().getFullYear(),new Date().getMonth());
    document.querySelector('#calendar3').onchange = function Kalendar3() {
        Calendar3("calendar3",document.querySelector('#calendar3 input').value,parseFloat(document.querySelector('#calendar3 select').options[document.querySelector('#calendar3 select').selectedIndex].value));
    }
</script>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.09.2018, 18:36
Помогаю со студенческими работами здесь

Выборка таблицы из html кода
Привет, вопрос такой, обьясните пожалуйста на пальцах Допустим в переменной есть html код $var = '&lt;html&gt; &lt;head&gt; ...

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

Выбрать часть HTML кода таблицы
Нужно в этом тексте &lt;tr class=c1&gt;&lt;td class=fname&gt;Организатор процедуры:&lt;/td&gt;&lt;td&gt;&lt;a href='/firms/view_firm.html?id=54873'...

Ошибка создания таблицы
Тема уже заезженная, но упорно не могу понять в чем ошибка((( CREATE TABLE teams ( teams_id int unsigned not null auto_increment...

Напишите код создания html-страницы, содержащей таблицу. В каждой ячейке таблицы должны отражаться указанные э
Напишите код создания html-страницы, содержащей таблицу. В каждой ячейке таблицы должны отражаться указанные элементы:


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru