PageSourceSearch

https://advanceroofingllc.com/wp-content/themes/advance_roofing_theme/assets/js/form-functions.js

js advanceroofingllc.com collected 2026-09-30 10:44:59 UTC 2,543 bytes, 83 lines download raw bytes

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.