Advertisement
didkoslawow

Untitled

Jul 4th, 2023
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function attachEvents() {
  2.     document.getElementById('submit').addEventListener('click', onSubmit);
  3. }
  4.  
  5. attachEvents();
  6.  
  7. async function getStudents() {
  8.     const response = await fetch('http://localhost:3030/jsonstore/collections/students/');
  9.     const data = await response.json();
  10.  
  11.     return data;
  12. }
  13.  
  14. async function onSubmit(e) {
  15.     e.preventDefault();
  16.  
  17.     const firstName = document.getElementById('firstName').value;
  18.     const lastName = document.getElementById('lastName').value;
  19.     const facultyNumber = document.getElementById('facultyNumber').value;
  20.     const grade = document.getElementById('grade').value;
  21.     const body = {
  22.         firstName: firstName,
  23.         lastName: lastName,
  24.         facultyNumber: facultyNumber,
  25.         grade: grade,
  26.     }
  27.  
  28.     if (!firstName && !lastName && !facultyNumber && !grade) {
  29.         alert('All fields are required!');
  30.         throw new Error('All fields are required!');
  31.     }
  32.  
  33.     const response = await fetch('http://localhost:3030/jsonstore/collections/students/', {
  34.         method: 'POST',
  35.         headers: {
  36.             'Content-Type': 'application/json',
  37.         },
  38.         body: JSON.stringify(body),
  39.     })
  40.  
  41.     document.getElementById('tbody').replaceChildren(render());
  42. }
  43.  
  44. async function render() {
  45.     const data = await getStudents();
  46.    
  47.     const tbody = document.getElementById('tbody');
  48.  
  49.     Object.values(data).forEach(x => {
  50.         const { firstName, lastName, facultyNumber, grade } = x;
  51.  
  52.         const tr = document.createElement('tr');
  53.         const td1 = document.createElement('td');
  54.         td1.textContent = firstName;
  55.         const td2 = document.createElement('td');
  56.         td2.textContent = lastName;
  57.         const td3 = document.createElement('td');
  58.         td3.textContent = facultyNumber;
  59.         const td4 = document.createElement('td');
  60.         td4.textContent = grade;
  61.  
  62.         tr.appendChild(td1);
  63.         tr.appendChild(td2);
  64.         tr.appendChild(td3);
  65.         tr.appendChild(td4);
  66.  
  67.         tbody.appendChild(tr);
  68.     });
  69. }
  70.  
  71. render()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement