1// class NewsletterForms { 2// constructor() { 3// this.forms = document.querySelectorAll(".newsletter-form"); 4 5// if (this.forms.length) { 6// this.forms.forEach((form) => { 7// new NewsletterForm(form); 8// }); 9// } 10// } 11// } 12 13// class NewsletterForm { 14// constructor(form) { 15// this.form = form; 16// this.body = this.form.querySelector(".newsletter-body"); 17// this.responseMessage = this.form.querySelector(".form-response-message"); 18// this.responseMessageError = this.form.querySelector(".form-response-message-error"); 19// this.fields = this.form.querySelectorAll("input"); 20// this.submitButton = this.form.querySelector(".newsletter-send"); 21 22// this.init(); 23// } 24 25// init() { 26// this.form.addEventListener("submit", (e) => this.handleSubmit(e)); 27// } 28 29// async handleSubmit(e) { 30// e.preventDefault(); 31// this.submitButton.disabled = true; 32 33// const formData = new FormData(this.form); 34// formData.append("action", "newsletterForm"); 35// this.form.querySelectorAll("input[type='checkbox']").forEach((checkbox) => { 36// formData[checkbox.name] = checkbox.checked; 37// }); 38 39// try { 40// const response = await fetch(wp_ajax.ajaxurl, { 41// method: "POST", 42// body: formData, 43// }); 44// const data = await response.json(); 45// this.submitButton.disabled = false; 46 47// if (data.status === "success") { 48// this.responseMessage.textContent = data.message; 49// this.body.style.display = "none"; 50// } else { 51// this.responseMessageError.textContent = data.message; 52// this.fields.forEach((field) => { 53// field.classList.remove("is-invalid"); 54 55// if (data.required_fields.includes(field.name) && 56// ((field.type === "checkbox" && !field.checked) || 57// (field.type !== "checkbox" && field.value === ""))) { 58// field.classList.add("is-invalid"); 59// } 60// }); 61// } 62// } catch (error) { 63// this.responseMessage.textContent = "An error occurred: " + error; 64// } 65// } 66// } 67 68document.addEventListener("DOMContentLoaded", () => { 69 // new NewsletterForms(); 70 console.log("NewsletterForms initialized"); 71});
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.