Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2020
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.49 KB | None | 0 0
  1. function solve() {
  2. let buttonElement = document.querySelector('#container button');
  3. let inputElements = Array.from(document.querySelectorAll('#container input'));
  4. let [nameElement, ageElement, kindElement, ownerElement] = inputElements;
  5. let adoptionUlElemet = document.querySelector('#adoption > ul');
  6. let adoptedUlElement = document.querySelector('#adopted > ul')
  7.  
  8. buttonElement.addEventListener('click', e => {
  9. //Check if all inputs are filled
  10. e.preventDefault();
  11. if(!inputElements.every(x => x.value)) {
  12. return;
  13. }
  14.  
  15. //Check if age is number
  16. if(!parseInt(ageElement.value)) {
  17. return;
  18. }
  19.  
  20. //Add list element
  21. let liElement = document.createElement('li');
  22. let pElement = document.createElement('p');
  23. let spanElement = document.createElement('span');
  24. let buttonElement = document.createElement('button');
  25.  
  26. spanElement.innerHTML = `Owner: ${ownerElement.value}`;
  27. buttonElement.innerHTML = 'Contact with owner'
  28.  
  29. pElement.innerHTML = `<p><strong>${nameElement.value}</strong> is a <strong>${ageElement.value}</strong> years old <strong>${kindElement.value}</strong></p>`;
  30. liElement.appendChild(pElement);
  31. liElement.appendChild(spanElement);
  32. liElement.appendChild(buttonElement);
  33.  
  34. adoptionUlElemet.appendChild(liElement);
  35.  
  36. //Clear the input
  37. nameElement.value = '';
  38. ageElement.value = '';
  39. ownerElement.value = '';
  40. kindElement.value = '';
  41.  
  42. //Attach event handler
  43. buttonElement.addEventListener('click', e => {
  44. let parent = e.currentTarget.parentElement;
  45.  
  46. e.currentTarget.remove();
  47.  
  48. let divElement = document.createElement('div');
  49. let inputElement = document.createElement('input');
  50. let takeItButtonElement = document.createElement('button');
  51.  
  52. inputElement.setAttribute('placeholder', 'Enter your names');
  53. takeItButtonElement.innerHTML = 'Yes! I take it!';
  54.  
  55. divElement.appendChild(inputElement);
  56. divElement.appendChild(takeItButtonElement);
  57. parent.appendChild(divElement);
  58.  
  59. takeItButtonElement.addEventListener('click', e => {
  60. if(!inputElement.value) {
  61. console.log('You wont take it!');
  62. return;
  63. }
  64.  
  65. let petLiElement = e.currentTarget.parentElement.parentElement;
  66.  
  67. let newOwnerName = petLiElement.querySelector('input').value;
  68. let newSpanNameElement = petLiElement.querySelector('span');
  69.  
  70. newSpanNameElement.innerHTML = `New owner is ${newOwnerName}`;
  71.  
  72. let oldDiv = petLiElement.querySelector('div');
  73. oldDiv.remove();
  74.  
  75. let checkedButton = document.createElement('button');
  76. checkedButton.innerHTML = 'Checked!';
  77.  
  78. petLiElement.appendChild(checkedButton);
  79. petLiElement.appendChild(newSpanNameElement);
  80. adoptedUlElement.appendChild(petLiElement);
  81.  
  82. checkedButton.addEventListener('click', e => {
  83. let checkedPet = e.currentTarget.parentElement;
  84. checkedPet.remove();
  85. });
  86. });
  87. });
  88. });
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement