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

Diff for /draft/form.min.js between version 1.22 and 1.75

version 1.22, 2024/03/28 19:04:03 version 1.75, 2024/03/31 14:37:54
Line 1 
Line 1 
 const form = document.querySelector("#cform");  const form = document.querySelector("#cform");
   
   function parseEmail(email) {
           return email.toLowerCase().slice(0,96);
   }
   
 function validateEmail(email) {  function validateEmail(email) {
         const regex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;          const regex = /^[a-z0-9._%+-]+@[a-z0-9.-]+(\.[a-z]{2,})+$/;
         return regex.test(email);          return regex.test(email);
 };  };
   
   function parseSubject(subject) {
           // 1. remove special chars
           return subject.slice(0,96);
   }
   
 function validateSubject(subject) {  function validateSubject(subject) {
         return (subject.length>5);          return (subject.length>3);
 }  }
   
 function validateMsg(msg) {  function parseMsg(msg) {
         return (msg.length>5);          // 1. remove special chars
           return msg.slice(0,3904);
 }  }
   
 async function postData() {  function validateMsg(msg) {
   const formData = new FormData(form);          return (msg.length>3);
   try {  
     const response = await fetch("/feedbk/", {  
       method: "POST",  
       body: formData,  
     });  
     console.log(await response.json());  
   } catch (e) {  
     console.error(e);  
   }  
 }  }
   
 async function sendData() {  async function sendData() {
         var er = 0;          var er = 0;
                 em = document.getElementById("cfem").value,                  em = parseEmail(document.getElementById("cfem").value),
                 su = document.getElementById("cfsu").value,                  su = parseSubject(document.getElementById("cfsu").value),
                 ms = document.getElementById("cfme").value,                  ms = parseMsg(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;
Line 39  async function sendData() {
Line 40  async function sendData() {
                 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");
                 ii.textContent="All good.";                  ii.textContent="Please wait...";
                 fc.forEach((f) => {                  fc.forEach((f) => {
                 f.disabled=true;                  f.disabled=true;
                         l=f;                          l=f;
Line 49  async function sendData() {
Line 50  async function sendData() {
                         turnstile.render('#cfcontainer', {                          turnstile.render('#cfcontainer', {
                                 theme: 'light',                                  theme: 'light',
                                 sitekey: '0x4AAAAAAAVpXFEy152AON1L',                                  sitekey: '0x4AAAAAAAVpXFEy152AON1L',
                                   'response-field': false,
                                   retry: 'never',
                                 'error-callback': function(e) {                                  'error-callback': function(e) {
                                         turnstile.remove();  //                                      turnstile.remove();
                                           ii.textContent="Cloudflare Turnstile verification error. Try again later."
                                 },                                  },
                                 callback: function(token) {                                  callback: function(token) {
                                         ii.textContent="Sent";                                          const dataToSend = JSON.stringify({"add": em, "sub": su, "msg": ms, "tok": token});
                                         console.log(`Challenge Success ${token}`);                                          ii.textContent="Sending...";
                                         postData();  
   
   
   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();
                   turnstile.close();
         }          }
 };  };
   

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.75

https://cvs.kroczynski.net