top of page
ELEGANCE AT ITS BEST
+91 8807793973
Home
About
Services
Contact
×
Home
About
Services
Contact
Book Now
Event Details Form
(Call or WhatsApp-8123642572 for clarification)
Name*
Contact Number*
Alternate Contact Number*
Email*
Event Date*
Event Venue*
Event Type*
Please Select
Wedding
Corporate Event
Birthday Party
Baby Showers
Engagement
Haldi
Sangeet
Others
Location*
Indoor/Outdoor*
Please Select
Indoor
Outdoor
Haven't finalised
Decor Type*
Please Select
Floral Decor
Balloon Decor
Traditional Floral Decor
Western Type Decor
North Indian Decor
Fusion Decor
Reference Design
Number of Guests*
Decor Budget*
Additional Details
How Did You Hear About Us?*
Please Select
Google
Instagram
Other (please specify)
Submit
// Google Analytics gtag.js configuration window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'YOUR-GA-MEASUREMENT-ID'); // Replace 'YOUR-GA-MEASUREMENT-ID' with your actual Google Analytics Measurement ID. document.addEventListener('DOMContentLoaded', function() { const form = document.getElementById('eventForm'); if(form) { form.addEventListener('submit', async function(event) { event.preventDefault(); const submitButton = form.querySelector('.form-submit-button'); submitButton.disabled = true; submitButton.textContent = 'Submitting...'; try { const formData = new FormData(form); if (!validateForm(form)) { throw new Error('Please fill in all required fields correctly'); } const fileInput = form.querySelector('input[type="file"]'); if (fileInput && fileInput.files[0]) { const maxSize = 5 * 1024 * 1024; // 5MB in bytes if (fileInput.files[0].size > maxSize) { throw new Error('File size should not exceed 5MB'); } const allowedTypes = ['image/jpeg', 'image/png', 'image/jpg', 'image/gif']; if (!allowedTypes.includes(fileInput.files[0].type)) { throw new Error('Please upload only image files (JPEG, PNG, JPG, GIF)'); } } const response = await fetch('form.php', { method: 'POST', body: formData, }); if (!response.ok) { throw new Error(`Server error: ${response.status}`); } const result = await response.json(); if (result.status === 'success') { gtag('event', 'submission', { 'event_category': 'Form', 'event_label': 'Booking', 'value': 1 }); await Swal.fire({ title: 'Success!', text: result.message, icon: 'success', confirmButtonColor: '#c18634' }); form.reset(); window.location.href = '/'; } else { throw new Error(result.message || 'Submission failed'); } } catch (error) { console.error('Submission error:', error); gtag('event', 'error', { 'event_category': 'Form', 'event_label': error.message, 'value': 0 }); await Swal.fire({ title: 'Error!', text: error.message || 'Something went wrong. Please try again.', icon: 'error', confirmButtonColor: '#c18634' }); } finally { submitButton.disabled = false; submitButton.textContent = 'Submit'; } }); } }); function validateForm(form) { let isValid = true; form.querySelectorAll('.error').forEach(field => field.classList.remove('error')); form.querySelectorAll('[required]').forEach(field => { if (!validateField(field)) { isValid = false; } }); return isValid; } function validateField(field) { if (!field.value.trim()) { field.classList.add('error'); return false; } if (field.type === 'tel') { const phoneNumber = field.value.replace(/\D/g, ''); if (phoneNumber.length !== 10) { field.classList.add('error'); showError(field, 'Please enter a valid 10-digit phone number'); return false; } } if (field.type === 'email') { const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!emailRegex.test(field.value)) { field.classList.add('error'); return false; } } if (field.type === 'file' && field.files.length > 0) { const file = field.files[0]; const maxSize = 5 * 1024 * 1024; // 5MB const allowedTypes = ['image/jpeg', 'image/png', 'image/jpg', 'image/gif']; if (file.size > maxSize) { field.classList.add('error'); showError(field, 'File size should not exceed 5MB'); return false; } if (!allowedTypes.includes(file.type)) { field.classList.add('error'); showError(field, 'Please upload only image files (JPEG, PNG, JPG, GIF)'); return false; } } field.classList.remove('error'); return true; } function showError(field, message) { const existingError = field.parentElement.querySelector('.error-message'); if (existingError) { existingError.remove(); } const errorDiv = document.createElement('div'); errorDiv.className = 'error-message'; errorDiv.textContent = message; field.parentElement.appendChild(errorDiv); }
Home
About
Shop
Contact
Log In
bottom of page