<script>
const orderBtn = document.getElementById('orderBtn');
const confirmBtn = document.getElementById('confirmBtn');
const cancelBtn = document.getElementById('cancelBtn');
const firstNameInput = document.getElementById('firstName');
const familyNameInput = document.getElementById('familyName');
const cnRadio = document.querySelector('input[value="cn"]');
const wnRadio = document.querySelector('input[value="wn"]');
const titleRadios = document.getElementsByName('titles');
const otherChk = document.getElementById('otherChk');
const otherTitleInput = document.getElementById('otherTitle');
const stationeryCheckboxes = document.getElementsByName('orders');
const printTitle = document.getElementById('printTitle');
const printOrder = document.getElementById('printOrder');
const errorMsg = document.getElementById('msg');

function printErrorMsg(msg) {
  errorMsg.innerHTML = msg;
  errorMsg.style.color = 'red';
}

function clearErrorMsg() {
  errorMsg.innerHTML = '';
}

function validateName() {
  if (!firstNameInput.value || !familyNameInput.value) {
    printErrorMsg('Please enter all your names');
    return false;
  }
  return true;
}

function getFullName() {
  if (cnRadio.checked) {
    return `${familyNameInput.value} ${firstNameInput.value}`;
  }
  return `${firstNameInput.value} ${familyNameInput.value}`;
}

function getTitle() {
  for (let i = 0; i < titleRadios.length; i++) {
    if (titleRadios[i].checked) {
      return titleRadios[i].value;
    }
  }
  if (otherChk.checked) {
    return otherTitleInput.value || '';
  }
  return '';
}

function validateTitle() {
  if (!getTitle()) {
    printErrorMsg('Select a title or click the check box');
    return false;
  }
  return true;
}

function getSelectedStationery() {
  const selectedItems = [];
  for (let i = 0; i < stationeryCheckboxes.length; i++) {
    if (stationeryCheckboxes[i].checked) {
      selectedItems.push(stationeryCheckboxes[i].value);
    }
  }
  return selectedItems;
}

function validateStationery() {
  if (!getSelectedStationery().length) {
    printErrorMsg('Click at least one check box');
    return false;
  }
  return true;
}

function printOrderSummary() {
  const fullName = getFullName();
  const title = getTitle();
  const selectedItems = getSelectedStationery();

  let orderSummary = `<p>${title} ${fullName} ordered:</p><ol>`;
  for(let i = 0; i < selectedItems.length; i++) {
    orderSummary += `<li>${selectedItems[i]}</li>`;
  }
  orderSummary += '</ol>';
  printTitle.innerHTML = 'Order Summary:';
  printOrder.innerHTML = orderSummary;
}

function disableConfirmBtn() {
  confirmBtn.disabled = true;
}

function enableConfirmBtn() {
  confirmBtn.disabled = false;
}

orderBtn.addEventListener('click', () => {
  clearErrorMsg();
  if (validateName() && validateTitle() && validateStationery()) {
    printOrderSummary();
    enableConfirmBtn();
  }
});

confirmBtn.addEventListener('click', () => {
  alert(`We are sending your order now, ${firstNameInput.value}!`);
});

cancelBtn.addEventListener('click', () => {
  printTitle.innerHTML = '';
  printOrder.innerHTML = '';
  disableConfirmBtn();
});

</script>
Stationery Order Form - Order Your Stationery Online

原文地址: https://www.cveoy.top/t/topic/lKNI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录