Advertisement
ErolKZ

Untitled

Mar 5th, 2022
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1.  
  2. function lockedProfile() {
  3.  
  4. let mainElement = document.getElementById('main');
  5.  
  6. let divProfile = document.querySelector('.profile');
  7.  
  8. divProfile.querySelectorAll('input')[2].setAttribute('name', `user1`);
  9.  
  10. let persons = {};
  11.  
  12.  
  13. for (let i = 2; i <= 5; i++) {
  14.  
  15. let divProfileClone = divProfile.cloneNode(true);
  16.  
  17. divProfileClone.querySelectorAll('input')[2].setAttribute('name', `user${i}`);
  18.  
  19. mainElement.appendChild(divProfileClone);
  20.  
  21. }
  22.  
  23. let arrOfRadios = Array.from(document.querySelectorAll('input[type = "radio"]'));
  24.  
  25. let arrOfEmails = Array.from(document.querySelectorAll('input[type = "email"]'));
  26.  
  27. let arrOfAge = Array.from(document.querySelectorAll('input[type = "age"]'));
  28.  
  29. let counterRadio = 1;
  30.  
  31.  
  32. for (let i = 0; i < 10; i += 2) {
  33.  
  34. arrOfRadios[i].setAttribute('name', `lock${counterRadio}`);
  35.  
  36. arrOfRadios[i + 1].setAttribute('name', `lock${counterRadio}`);
  37.  
  38. counterRadio++;
  39.  
  40. }
  41.  
  42.  
  43. let url = `http://localhost:3030/jsonstore/advanced/profiles`;
  44.  
  45. let counter = 1;
  46.  
  47. let counter2 = 0;
  48.  
  49. fetch(url)
  50.  
  51. .then(response => response.json())
  52.  
  53. .then(result => {
  54.  
  55. for (let obj in result) {
  56.  
  57. let usernameElement = document.getElementsByName(`user${counter}`)[0];
  58.  
  59. let person = result[obj].username;
  60.  
  61. let email = result[obj].email;
  62.  
  63. let age = result[obj].age;
  64.  
  65. persons[person] = { email: email, age: age };
  66.  
  67. arrOfEmails[counter2].value = email;
  68.  
  69. arrOfAge[counter2].value = age;
  70.  
  71. usernameElement.value = person;
  72.  
  73. counter++;
  74.  
  75. counter2++;
  76.  
  77. }
  78.  
  79. })
  80.  
  81.  
  82. let buttonElements = document.querySelectorAll('button');
  83.  
  84. buttonElements = Array.from(buttonElements);
  85.  
  86.  
  87. for (let i = 0; i < buttonElements.length; i++) {
  88.  
  89. buttonElements[i].addEventListener('click', (e) => {
  90.  
  91. let radioElements = document.getElementsByName(`lock${i + 1}`);
  92.  
  93. radioElements = Array.from(radioElements);
  94.  
  95. let unlockRadio = radioElements[1];
  96.  
  97. let email = e.target.parentNode.querySelector('input[type="email"');
  98.  
  99. let age = e.target.parentNode.querySelector('input[type="age"');
  100.  
  101.  
  102. if (unlockRadio.checked === true) {
  103.  
  104. if (buttonElements[i].textContent === 'Hide it') {
  105.  
  106. email.style.display = 'none';
  107.  
  108. age.style.display = 'none';
  109.  
  110. buttonElements[i].textContent = 'Show more';
  111.  
  112. } else {
  113.  
  114. email.style.display = 'inline-block';
  115.  
  116. age.style.display = 'inline-block';
  117.  
  118. buttonElements[i].textContent = 'Hide it';
  119.  
  120. }
  121.  
  122. }
  123.  
  124. })
  125.  
  126. }
  127.  
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement