/
Cooolprogrammers
/
web-nodejs-labs
Обзор
Документация
Войти
/
Cooolprogrammers
/
web-nodejs-labs
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
public/lab8/task1/app.js
71 строка
2 KB
darkvoid6@mail.ru
ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ
18 дек 2025, 07:59
18 дек 2025, 07:59
f2c4f06
Код
Авторство
О чём код?
const form = document.getElementById('form'); const participate = document.getElementById('participate'); const projectWrap = document.getElementById('projectNameWrap'); const tbody = document.querySelector('#table tbody'); participate.addEventListener('change', () => { projectWrap.style.display = participate.checked ? 'block' : 'none'; }); function serializeForm(form) { const data = new URLSearchParams(); const fd = new FormData(form); for (const [key, val] of fd.entries()) { if (key === 'participate') { data.set('participate', 'true'); } else { data.set(key, val); } } if (!fd.has('participate')) data.set('participate', 'false'); return data; } async function refreshList() { const res = await fetch('/api/lab8/task1/list'); const json = await res.json(); tbody.innerHTML = ''; for (const item of json.items) { const fio = `${item.lastName} ${item.firstName} ${item.middleName}`; const tr = document.createElement('tr'); const project = item.participate ? (item.projectName || '—') : '—'; tr.innerHTML = ` <td>${item.id}</td> <td>${fio}</td> <td>${item.gender}</td> <td>${item.faculty}</td> <td>${project}</td> <td>${new Date(item.timestamp).toLocaleString()}</td> `; tbody.appendChild(tr); } } form.addEventListener('submit', async (e) => { e.preventDefault(); const qs = serializeForm(form); const url = `/api/lab8/task1/save?${qs.toString()}`; const res = await fetch(url); const json = await res.json(); if (json.ok) { await refreshList(); } else { alert('Ошибка сохранения'); } }); document.getElementById('btnInitials').addEventListener('click', async () => { const qs = serializeForm(form); const res = await fetch(`/api/lab8/task1/makeInitials?${qs.toString()}`); const json = await res.json(); alert(`Инициалы: ${json.initials}`); }); document.getElementById('btnStatus').addEventListener('click', async () => { const qs = serializeForm(form); const res = await fetch(`/api/lab8/task1/makeProjectStatus?${qs.toString()}`); const json = await res.json(); alert(`${json.initials} — ${json.status}`); }); refreshList();