Daniel_007

01. Pet Me

Oct 12th, 2020 (edited)
2,112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.   document.querySelector("button").addEventListener("click", petMe);
  3.   class Pet {
  4.     constructor(name, age, kind, currentOwner) {
  5.       this.Name = name;
  6.       this.Age = age;
  7.       this.Kind = kind;
  8.       this.CurrentOwner = currentOwner;
  9.     }
  10.   }
  11.   function petMe(e) {
  12.     e.preventDefault();
  13.     let name = document.querySelector('[placeholder="Name"]');
  14.     let age = document.querySelector('[placeholder="Age"]');
  15.     let kind = document.querySelector('[placeholder="Kind"]');
  16.     let currentOwner = document.querySelector('[placeholder="Current Owner"]');
  17.  
  18.     if (
  19.       name.value != "" &&
  20.       age.value != "" &&
  21.       parseFloat(age.value) &&
  22.       kind.value != "" &&
  23.       currentOwner.value != ""
  24.     ) {
  25.       let adoptionElement = document.getElementById("adoption");
  26.       let listElement = adoptionElement.querySelector("ul");
  27.       let currentPet = new Pet(
  28.         name.value.trim(),
  29.         parseFloat(age.value),
  30.         kind.value.trim(),
  31.         currentOwner.value.trim()
  32.       );
  33.       let newPetElement = document.createElement("li");
  34.       newPetElement.innerHTML = `<p><strong>${currentPet.Name}</strong> is a <strong>${currentPet.Age}</strong> year old <strong>${currentPet.Kind}</strong></p><span>Owner: ${currentPet.CurrentOwner}</span><button id="contact">Contact with owner</button>`;
  35.       newPetElement.querySelector("button").addEventListener("click", contact);
  36.       listElement.appendChild(newPetElement);
  37.       name.value = "";
  38.       age.value = "";
  39.       kind.value = "";
  40.       currentOwner.value = "";
  41.     }
  42.   }
  43.   function contact(eventForContactButton) {
  44.     let liElementParent = eventForContactButton.target.parentNode;
  45.     eventForContactButton.target.remove();
  46.     liElementParent.innerHTML +=
  47.       '<div><input placeholder="Enter your names"><button id="buttonId">Yes! I take it!</button></div>';
  48.     let button = liElementParent.querySelector("button");
  49.     button.addEventListener("click", adopted);
  50.   }
  51.   function adopted(eventForAdoptionButton) {
  52.     let liDivElementParent = eventForAdoptionButton.target.parentNode;
  53.     let liElementParent = liDivElementParent.parentNode;
  54.     let input = liElementParent.querySelector(
  55.       '[placeholder="Enter your names"]'
  56.     );
  57.     if (input.value) {
  58.       let adoptionElement = document.getElementById("adopted");
  59.       let listElement = adoptionElement.querySelector("ul");
  60.       let paragraphElement = liElementParent.querySelector("p");
  61.       let createNewAdoptedPet = document.createElement("li");
  62.       createNewAdoptedPet.appendChild(paragraphElement);
  63.       createNewAdoptedPet.innerHTML += `<span>New Owner: ${input.value}</span><button>Checked</button>`;
  64.       let button = createNewAdoptedPet.querySelector("button");
  65.  
  66.       button.addEventListener("click", deleteFunction);
  67.       listElement.appendChild(createNewAdoptedPet);
  68.       liElementParent.remove();
  69.     }
  70.   }
  71.   function deleteFunction(e) {
  72.     let liElementParent = e.target.parentNode;
  73.     liElementParent.remove();
  74.   }
  75. }
Add Comment
Please, Sign In to add comment