1const sendMail = ($, formData, formId) => { 2 $.ajax({ 3 type: 'POST', 4 url: '/wp-admin/admin-ajax.php', 5 data: formData, 6 success: function (response) { 7 // Display success message 8 $(`.${formId}-success-message`).text(response).slideDown(); 9 $(`#${formId}`)[0].reset(); // Clear form fields 10 if (formId === 'popupForm') { 11 setTimeout(() => closePopup(), 2000); 12 setTimeout( 13 () => $(`.${formId}-success-message`).text(response).slideUp(), 14 2100, 15 ); 16 } 17 }, 18 error: function (xhr, status, error) { 19 // Display error message 20 $(`.${formId}-error-message`) 21 .text('Error: ' + xhr.responseText) 22 .slideDown(); 23 if (formId === 'popupForm') { 24 setTimeout(() => closePopup(), 2000); 25 setTimeout( 26 () => $(`.${formId}-error-message`).text(response).slideUp(), 27 2100, 28 ); 29 } 30 }, 31 }); 32}; 33 34jQuery(document).ready(function ($) { 35 $('#free-estimate-form').submit(function (e) { 36 e.preventDefault(); 37 var formData = $(this).serialize(); 38 formData += '&action=main_form_submit'; // Add action parameter 39 sendMail($, formData, 'free-estimate-form'); 40 }); 41 42 $('#financing-available-form').submit(function (e) { 43 e.preventDefault(); 44 var formData = $(this).serialize(); 45 formData += '&action=main_form_submit'; // Add action parameter 46 sendMail($, formData, 'financing-available-form'); 47 }); 48 49 $('#request-form').submit(function (e) { 50 e.preventDefault(); 51 var formData = $(this).serialize(); 52 formData += '&action=main_form_submit'; // Add action parameter 53 sendMail($, formData, 'request-form'); 54 }); 55 56 $('.page-form').submit(function (event) { 57 event.preventDefault(); // Prevent form submission 58 59 let form = this; 60 // Log the form data 61 let formData = $(this).serialize(); 62 formData += '&action=main_form_submit'; 63 64 // // Find the success message div inside the form 65 let successMessage = $(this).find('.page-form-success-message'); 66 let errorMessage = $(this).find('.page-form-error-message'); 67 68 $.ajax({ 69 type: 'POST', 70 url: ajaxurl, // Use ajaxurl global variable 71 data: formData, 72 success: function (response) { 73 // Display success message 74 successMessage.text(response).slideDown(); 75 form.reset(); 76 }, 77 error: function (xhr, status, error) { 78 // Display error message 79 errorMessage.text('Error: ' + xhr.responseText).slideDown(); 80 }, 81 }); 82 }); 83});
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.