diff --git a/assets/js/script.js b/assets/js/script.js index c1b075e..6be038d 100644 --- a/assets/js/script.js +++ b/assets/js/script.js @@ -87,4 +87,55 @@ const filter = function () { } } -addEventOnElem(filterBtns, "click", filter); \ No newline at end of file +addEventOnElem(filterBtns, "click", filter); + + +// +document.getElementById('appointmentForm').addEventListener('submit', function (event) { + event.preventDefault(); + + + const nameInput = this.querySelector('[name="name"]'); + const emailInput = this.querySelector('[name="email_address"]'); + const phoneInput = this.querySelector('[name="phone"]'); + const categoryInput = this.querySelector('[name="category"]'); + const dateInput = this.querySelector('[name="date"]'); + const messageInput = this.querySelector('[name="message"]'); + + + if (!nameInput.checkValidity()) { + alert('Please enter a valid name (letters and spaces only).'); + return; + } + if (!emailInput.checkValidity()) { + alert('Please enter a valid email address.'); + return; + } + if (!phoneInput.checkValidity()) { + alert('Please enter a valid 10-digit phone number.'); + return; + } + if (categoryInput.value === "") { + alert('Please select a category.'); + return; + } + if (!dateInput.checkValidity()) { + alert('Please select a valid date.'); + return; + } + if (!messageInput.checkValidity()) { + alert('Please write a message.'); + return; + } + + + const successMessage = document.querySelector('.success-message'); + successMessage.style.display = 'block'; + + + this.reset(); + +setTimeout(() => { + successMessage.style.display = 'none'; +}, 5000); +}); \ No newline at end of file diff --git a/index.html b/index.html index 93b2ffd..48b4c00 100644 --- a/index.html +++ b/index.html @@ -750,38 +750,32 @@