1// alert('hii') 2 // Client-side validation 3 // function validateForm() { 4 // var name = document.getElementById("name3").value; 5 // var email = document.getElementById("email3").value; 6 // var phone = document.getElementById("phone3").value; 7 // var message = document.getElementById("message3").value; 8 // var subject = document.getElementById("subject3").value; 9 10 // // Name validation 11 // if (!name) { 12 // alert("Name field is required"); 13 // return false; 14 // } 15 16 // // Email validation 17 // var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/; 18 // if (!email) { 19 // alert("Email field is required"); 20 // return false; 21 // } else if (!emailPattern.test(email)) { 22 // alert("Please enter a valid email address"); 23 // return false; 24 // } 25 26 // // Phone number validation 27 // if (!phone) { 28 // alert("Phone number is required"); 29 // return false; 30 // } else if (phone.length < 10) { 31 // alert("Please enter a valid phone number"); 32 // return false; 33 // } 34 35 // // Subject selection validation 36 // if (!subject) { 37 // alert("Please select an option"); 38 // return false; 39 // } 40 41 // // Message validation 42 // if (!message) { 43 // alert("Message field is required"); 44 // return false; 45 // } 46 47 // // Success message after form validation 48 // return true; // If all validations pass, form will be submitted 49 // } 50 51 // const popupForm = document.getElementById("contact-form2") 52 // console.log(popupForm) 53 // popupForm.addEventListener("submit", submitForms) 54 55 // const validateForm = (form) => { 56 // const formDatas = new FormData(form); 57 // let isValid = true; 58 59 // // Loop through all form elements 60 // form.querySelectorAll('input, textarea, select').forEach((element) => { 61 // const name = element.name; 62 // const value = formDatas.get(name); 63 64 // // Example of required field validation 65 // if (element.hasAttribute('required') && !value.trim()) { 66 // isValid = false; 67 // displayError(element, 'This field is required.'); 68 // } else { 69 // clearError(element); 70 // } 71 72 // // Example of pattern validation (if the element has a pattern attribute) 73 // if (element.hasAttribute('pattern') && value && !new RegExp(element.pattern).test(value)) { 74 // isValid = false; 75 // displayError(element, 'Invalid format.'); 76 // } 77 78 // // Example of length validation (if the element has min and/or max length attributes) 79 // if (element.hasAttribute('minlength') && value.length < element.getAttribute('minlength')) { 80 // isValid = false; 81 // displayError(element, `Minimum length is ${element.getAttribute('minlength')} characters.`); 82 // } else if (element.hasAttribute('maxlength') && value.length > element.getAttribute('maxlength')) { 83 // isValid = false; 84 // displayError(element, `Maximum length is ${element.getAttribute('maxlength')} characters.`); 85 // } else { 86 // clearError(element); 87 // } 88 // }); 89 90 // return isValid; 91 // }; 92 93 // // Function to display error message on invalid form fields 94 // const displayError = (element, message) => { 95 // const error = document.createElement('div'); 96 // error.classList.add('error-message'); 97 // error.textContent = message; 98 99 // // Append error message near the input field 100 // element.parentElement.appendChild(error); 101 // element.classList.add('error'); 102 // }; 103 104 // AJAX form submission 105 async function submitForms(event) { 106 const submitBtn = event.target.querySelector("button[type='submit']"); 107 console.log(submitBtn) 108 if (!submitBtn) return; 109 event.preventDefault(); // Prevent normal form submission 110 const formDatas = new FormData(event?.target) 111 console.log(formDatas)
112 try { 113 submitBtn.disabled = true; // Disable the button 114 submitBtn.innerText = "Submitting..."; // Change button text 115 // var formData = new FormData(document.getElementById('contact-form2')); // Collect the form data 116 117 const res = await axios.post("send_mail2.php", formDatas); 118 if (res.status === 200) { 119 window.open("thank-you.php", '_self') 120 } 121 } catch (error) { 122 console.log(error) 123 }finally { 124 setTimeout(() => { 125 submitBtn.disabled = true; // Disable the button 126 submitBtn.innerText = "Submitting..."; // Change button text 127 }, 2000); 128 // Enable the submit button after the submission attempt (whether it succeeds or fails) 129 // submitButton.disabled = false; 130 } 131 132 } 133 134 async function FormSubmit(event) { 135 const submitBtn = event.target.querySelector("button[type='submit']"); 136 console.log(submitBtn) 137 if (!submitBtn) return; 138 event.preventDefault(); // Prevent normal form submission 139 const formDatas = new FormData(event?.target) 140 console.log(formDatas) 141 try { 142 submitBtn.disabled = true; // Disable the button 143 submitBtn.innerText = "Submitting..."; // Change button text 144 // var formData = new FormData(document.getElementById('contact-form2')); // Collect the form data 145 146 const res = await axios.post("send_mail1.php", formDatas); 147 if (res.status === 200) { 148 window.open("thank-you.php", '_self') 149 } 150 } catch (error) { 151 console.log(error) 152 }finally { 153 setTimeout(() => { 154 submitBtn.disabled = true; // Disable the button 155 submitBtn.innerText = "Submitting..."; // Change button text 156 }, 2000); 157 } 158 159 } 160 161 async function handleFormSubmit(event) { 162 const submitBtn = event.target.querySelector("button[type='submit']"); 163 console.log(submitBtn) 164 if (!submitBtn) return; 165 event.preventDefault(); // Prevent normal form submission 166 const formDatas = new FormData(event?.target) 167 console.log(formDatas) 168 try { 169 submitBtn.disabled = true; // Disable the button 170 submitBtn.innerText = "Submitting..."; // Change button text 171 // var formData = new FormData(document.getElementById('contact-form2')); // Collect the form data 172 173 const res = await axios.post("send_mail3.php", formDatas); 174 if (res.status === 200) { 175 window.open("thank-you.php", '_self') 176 } 177 } catch (error) { 178 console.log(error) 179 }finally { 180 setTimeout(() => { 181 submitBtn.disabled = true; // Disable the button 182 submitBtn.innerText = "Submitting..."; // Change button text 183 }, 2000); 184 } 185 186 } 187
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.