From 8aaf4695ef2c3b17f07fad4038a584fa79702e9f Mon Sep 17 00:00:00 2001 From: Akshay Date: Tue, 4 Feb 2025 08:05:20 +0530 Subject: [PATCH] feat: Add success message and form validations to appointment form --- assets/js/script.js | 53 ++++++++++++++++++++++++++++++++++++++++++++- index.html | 28 ++++++++++-------------- 2 files changed, 63 insertions(+), 18 deletions(-) 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 @@

Make Appointment

suspendisse

-
- +
- - +
-
- - - +
- - - + - - + + +