Advertisement
pacho_the_python

Untitled

Mar 22nd, 2023
409
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. window.addEventListener('load', solution);
  2.  
  3. function solution() {
  4.     const personInfo = {
  5.         fullName: () => document.getElementById('fname'),
  6.         personEmail: () => document.getElementById('email'),
  7.         personPhoneNum: () => document.getElementById('phone'),
  8.         personAddress: () => document.getElementById('address'),
  9.         personPostalCode: () => document.getElementById('code'),
  10.     }
  11.     const ulElement = document.getElementById('infoPreview')
  12.     const blockDivElement = document.getElementById('block')
  13.     const submitBtn = document.getElementById('submitBTN')
  14.     const editBtn = document.getElementById('editBTN')
  15.     const continueBtn = document.getElementById('continueBTN')
  16.  
  17.     submitBtn.addEventListener('click', submitPersonInfo)
  18.     editBtn.addEventListener('click', editPersonInfo)
  19.     continueBtn.addEventListener('click', continueReservation)
  20.  
  21.     let name = ''
  22.     let email = ''
  23.     let phoneNumber = ''
  24.     let address = ''
  25.     let code = ''
  26.  
  27.     function submitPersonInfo(e) {
  28.         e.preventDefault()
  29.  
  30.         name = personInfo.fullName().value
  31.         email = personInfo.personEmail().value
  32.         phoneNumber = personInfo.personPhoneNum().value
  33.         address = personInfo.personAddress().value
  34.         code = personInfo.personPostalCode().value
  35.  
  36.         if(name === '' || email === '') {return}
  37.  
  38.         let fullNameLi = document.createElement('li')
  39.         fullNameLi.textContent = `Full Name: ${name}`
  40.         ulElement.appendChild(fullNameLi)
  41.  
  42.         let emailLi = document.createElement('li')
  43.         emailLi.textContent = `Email: ${email}`
  44.         ulElement.appendChild(emailLi)
  45.  
  46.         let phoneNumLi = document.createElement('li')
  47.         phoneNumLi.textContent = `Phone Number: ${phoneNumber}`
  48.         ulElement.appendChild(phoneNumLi)
  49.  
  50.         let addressLi = document.createElement('li')
  51.         addressLi.textContent = `Address: ${address}`
  52.         ulElement.appendChild(addressLi)
  53.  
  54.         let codeLi = document.createElement('li')
  55.         codeLi.textContent = `Postal Code: ${code}`
  56.         ulElement.appendChild(codeLi)
  57.  
  58.         submitBtn.disabled = true
  59.         editBtn.disabled = false
  60.         continueBtn.disabled = false
  61.  
  62.         personInfo.fullName().value = ''
  63.         personInfo.personEmail().value = ''
  64.         personInfo.personPhoneNum().value = ''
  65.         personInfo.personAddress().value = ''
  66.         personInfo.personPostalCode().value = ''
  67.     }
  68.  
  69.     function editPersonInfo() {
  70.         personInfo.fullName().value = name
  71.         personInfo.personEmail().value = email
  72.         personInfo.personPhoneNum().value = phoneNumber
  73.         personInfo.personAddress().value = address
  74.         personInfo.personPostalCode().value = code
  75.  
  76.         submitBtn.disabled = false
  77.         editBtn.disabled = true
  78.         continueBtn.disabled = true
  79.  
  80.         let elementsToRemove = Array.from(ulElement.children)
  81.         elementsToRemove.forEach(element => element.remove())
  82.     }
  83.  
  84.     function continueReservation() {
  85.         let someElements = Array.from(blockDivElement.children)
  86.         someElements.forEach(currentElement => currentElement.remove())
  87.  
  88.         let h3Element = document.createElement('h3')
  89.         h3Element.textContent = 'Thank you for your reservation!'
  90.         blockDivElement.appendChild(h3Element)
  91.     }
  92.  
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement