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
-