1 2 3jQuery(document).ready(function() { 4 jQuery('#newsletter_form').on('submit', function(e){ 5 // validation code here 6 e.preventDefault(); 7 var $form = document.getElementById("newsletter_form"); 8 const submitBtn = document.getElementById("r0c0m0i4"); 9 const redirectionURL = $form.querySelector('#thank_you_redirect_url').value; 10 const formURL = $form.getAttribute("action"); 11 submitBtn.classList.add("btn-loading"); 12 const XHR = new XMLHttpRequest(); 13 var reqData = {}; 14 var elements = []; 15 $form.querySelectorAll('input:not([type=checkbox])').forEach(function(element) { 16 var id = element.getAttribute('id'); 17 if (element.getAttribute('type') != 'hidden') { 18 var field = { 19 FieldID: '', 20 FieldKey: element.getAttribute('name'), 21 FieldValues: element.value 22 } 23 elements.push(field); 24 } else { 25 var key = element.getAttribute('name'); 26 var value = element.value; 27 reqData[key] = value; 28 } 29 }); 30 $form.querySelectorAll('select').forEach(function(element) { 31 var field = { 32 FieldID: '', 33 FieldKey: element.getAttribute('name'), 34 FieldValues: element.value 35 }; 36 elements.push(field); 37 }); 38 var checkboxParam = {}; 39 $form.querySelectorAll('input[type=checkbox]:checked').forEach(function(element) { 40 var key = element.getAttribute('name').replace("[]", ""); 41 if (checkboxParam.hasOwnProperty(key)) { 42 checkboxParam[key] = checkboxParam[key] + "|" + element.value; 43 } else { 44 checkboxParam[key] = element.value; 45 } 46 }); 47 for (var k in Object.keys(checkboxParam)) { 48 var field = { 49 FieldID: '', 50 FieldKey: Object.keys(checkboxParam)[k], 51 FieldValues: checkboxParam[Object.keys(checkboxParam)[k]] 52 } 53 elements.push(field); 54 } 55 reqData['elements'] = elements; 56 XHR.addEventListener("load", function(event) { 57 const r = JSON.parse(event.target.responseText); 58 const submitBtn = document.getElementById("r0c0m0i4"); 59 if (r.success) { 60 if (redirectionURL != "") { 61 if (redirectionURL.toLowerCase().includes('onlineformthankyou')) { 62 window.location.href = redirectionURL; 63 } else { 64 window.parent.location.replace(redirectionURL); 65 } 66 } else { 67 const resDiv = document.createElement("div"); 68 const resContent = document.createTextNode(r.responseText); 69 resDiv.id = "formResponse"; 70 resDiv.appendChild(resContent); 71 if (!document.getElementById("formResponse")) { 72 submitBtn.parentNode.insertBefore(resDiv, submitBtn.nextSibling); 73 } else { 74 resDiv.innerHTML = r.responseText; 75 } 76 submitBtn.classList.remove("btn-loading"); 77 } 78 } else { 79 alert(r.responseText); 80 submitBtn.classList.remove("btn-loading"); 81 } 82 }); 83 XHR.addEventListener("error", function(event) { 84 alert('Oops! Something went wrong.'); 85 }); 86 XHR.open("POST", formURL); 87 XHR.setRequestHeader("Content-type", "application/json"); 88 XHR.send(JSON.stringify(reqData)); 89 return false; 90 91 }); 92 93}); 94 95function getParams() { 96 var pa = document.location.href.split("?").pop().split("&"); 97 var p = {}; 98 for (var j = 0; j < pa.length; j++) { 99 var kv = pa[j].split("="); 100 p[kv[0]] = kv[1]; 101 } 102 return p; 103} 104var params = getParams(); 105var resizeObserver; 106const resize_ob = new ResizeObserver(function(entries) {
107 var rect = entries[0].contentRect; 108 var height = rect.height; 109 var origin = document.querySelector('body').value; 110 parent.window.postMessage(height, origin); 111}); 112 113window.addEventListener("message", (event) => { 114 if (event.data != undefined && event.data == params.id) { 115 document.querySelector('body').value = event.origin; 116 parent.window.postMessage(document.querySelector('body').clientHeight, event.origin); 117 if (!resizeObserver) { 118 resize_ob.observe(document.querySelector('body')); 119 } 120 } 121}, false); 122 123 124 125 126 127
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.