[BACK]Return to form.min.js CVS log [TXT][DIR] Up to [local] / draft

Diff for /draft/form.min.js between version 1.14 and 1.73

version 1.14, 2024/03/27 23:43:49 version 1.73, 2024/03/31 14:15:20
Line 1 
Line 1 
 const form = document.querySelector("#cform");  const form = document.querySelector("#cform");
   
 function validateEmail(email) {  function validateEmail(email) {
         const regex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;          var em = string.toLowerCase();
         return regex.test(email);          // 1. max len = 96
           const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+(\.[a-zA-Z]{2,})+$/;
           return regex.test(em);
 };  };
   
 function validateSubject(subject) {  function validateSubject(subject) {
           // 1. remove special chars
           // 2. min len = 4
           // 3. max len = 96
         return (subject.length>5);          return (subject.length>5);
 }  }
   
 function validateMsg(msg) {  function validateMsg(msg) {
           // 1. remove special chars
           // 2. min len = 4
           // 3. max len = 2048
         return (msg.length>5);          return (msg.length>5);
 }  }
   
 async function sendData() {  async function sendData() {
         var er = 0;          var er = 0;
                 em = document.getElementById("yemail").value,                  em = document.getElementById("cfem").value,
                 su = document.getElementById("ysub").value,                  su = document.getElementById("cfsu").value,
                 ms = document.getElementById("ymsg").value,                  ms = document.getElementById("cfme").value,
                 ii = document.getElementById("cfinfo");                  ii = document.getElementById("cfinfo");
   
         er=validateEmail(em)?er:++er;          er=validateEmail(em)?er:++er;
         er=validateSubject(su)?er:++er;          er=validateSubject(su)?er:++er;
         er=validateMsg(ms)?er:++er;          er=validateMsg(ms)?er:++er;
         if(er){          if(er){
                 ii.textContent="One or more fields have an error. Please check and try again.";                  ii.textContent="One or more fields have an error. Please check and try again.";
         } else {          } else {
                 var fc = document.querySelectorAll(".wpcf7-form-control"),                  var fc = document.querySelectorAll(".wpcf7-form-control");
                         bt = document.querySelector("#wpcf7-button");                  ii.textContent="Please wait...";
                 ii.textContent="All good.";  
                 fc.forEach((f) => {                  fc.forEach((f) => {
                 f.disabled=true;                  f.disabled=true;
                         l=f;                          l=f;
                 });                  });
                 l.style.visibility="hidden";                  l.style.visibility="hidden";
                   turnstile.ready(function() {
                           turnstile.render('#cfcontainer', {
                                   theme: 'light',
                                   sitekey: '0x4AAAAAAAVpXFEy152AON1L',
                                   'response-field': false,
                                   retry: 'never',
                                   'error-callback': function(e) {
   //                                      turnstile.remove();
                                           ii.textContent="Cloudflare Turnstile verification error. Try again later."
                                   },
                                   callback: function(token) {
                                           const dataToSend = JSON.stringify({"add": em, "sub": su, "msg": ms, "tok": token});
                                           ii.textContent="Sending...";
   
   
   
   fetch("/feedbk/", {
           credentials: "same-origin",
           mode: "same-origin",
           method: "post",
           headers: { "Content-Type": "application/json" },
           body: dataToSend
   })
         .then(response => response.json())
             .then(json => ii.textContent=json['msg'])
   
   
   
                                   },
                           });
                           turnstile.remove();
                   });
         }          }
 };  };
   
 form.addEventListener("submit", (event) => {  form.addEventListener("submit", (event) => {
         event.preventDefault();          event.preventDefault();
         sendData();          sendData();
 });  });
   
 //      turnstile.ready(function() {  
 //              var e = document.querySelectorAll(".wpcf7-form-control"),  
 //                      b = document.getElementById("wpcf7-button");  
 //              e.forEach((f) => {  
  //             f.disabled=true;  
 //              });  
   
 //              document.getElementById("wp1").disabled=true;  
   
 //              document.getElementById("wpcf7-button").disabled=true;  
 //              document.getElementById("wpcf7-button").value="Please wait..."  
   
  //     turnstile.render('#cfcontainer', {  
 //              theme: 'light',  
  //       sitekey: '0x4AAAAAAAVpXFEy152AON1L',  
 //              'error-callback': function(e) {  
 //                      turnstile.remove();  
 //                      b.value=e;  
 //              },  
  //       callback: function(token) {  
 //                      b.value="Sending...";  
 //           console.log(`Challenge Success ${token}`);  
   
 //                 document.getElementById("wpcf7-button").disabled=true;  
 //                 document.getElementById("wpcf7-button").type="hidden";  
   
  //       },  
  //     });  
   
 //});  
   
   // Associate the FormData object with the form element  
  // const formData = new FormData(form);  
   
  // try {  
  //   const response = await fetch("https://example.org/post", {  
  //     method: "POST",  
       // Set the FormData instance as the request body  
 //      body: formData,  
  //   });  
  //   console.log(await response.json());  
 //  } catch (e) {  
 //    console.error(e);  
 //  }  
 //}  
   
 // Take over form submission  
   

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.73

https://cvs.kroczynski.net