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

Diff for /draft/form.min.js between version 1.93 and 1.104

version 1.93, 2024/03/31 16:36:02 version 1.104, 2024/04/02 18:32:59
Line 1 
Line 1 
 const form = document.querySelector("#cform");  
   
 function parseString(str) {  
         return str.replace(/[~`!@#$%^&*(){}\[\];:"'<,.>?\/\\|+=-]/g, '_');  
 }  
   
 function parseMail(email) {  
         return email.toLowerCase().slice(0,96);  
 }  
   
 function validateMail(email) {  
         const regex = /^[a-z0-9._%+-]+@[a-z0-9.-]+(\.[a-z]{2,})+$/;  
         return regex.test(email);  
 };  
   
 function parseSubj(subject) {  
         return parseString(subject).slice(0,96);  
 }  
   
 function validateSubj(subject) {  
         return (subject.length>3);  
 }  
   
 function parseMess(msg) {  
         return parseString(msg).slice(0,3904);  
 }  
   
 function validateMess(msg) {  
         return (msg.length>3);  
 }  
   
 async function sendData() {  
         var erro = 0,  
                 info = document.getElementById("cfinfo"),  
                 mail = parseMail(document.getElementById("cfem").value),  
                 subj = parseSubj(document.getElementById("cfsu").value),  
                 mess = parseMess(document.getElementById("cfme").value);  
   
         erro=validateMail(mail)?erro:++erro;  
         erro=validateSubj(subj)?erro:++erro;  
         erro=validateMess(mess)?erro:++erro;  
   
         if(erro) {  
                 info.textContent="One or more fields have an error. Please check and try again."  
         } else {  
                 var fcon = document.querySelectorAll(".wpcf7-form-control"),  
                         id = "(NULL)";  
   
                 info.textContent="Please wait..."  
                 fcon.forEach((f) => {  
                 f.disabled=true;  
                         l=f;  
                 });  
                 l.style.visibility="hidden";  
                 turnstile.ready(function() {  
                         turnstile.render('#cfcontainer', {  
                                 retry: 'never',  
                                 theme: 'light',  
                                 'response-field': false,  
                                 sitekey: '0x4AAAAAAAVpXFEy152AON1L',  
                                 'error-callback': function(e) {  
                                         info.textContent="Cloudflare Turnstile verification error. Try again later."  
                                 },  
                                 callback: function(token) {  
                                         info.textContent=token;  
 //                                      const data = JSON.stringify({"add": mail, "sub": subj, "msg": mess, "tok": token});  
 //                                      info.textContent="Sending...";  
 //                                      fetch("/feedbk/", {  
 //                                              headers: { "Content-Type": "application/json" },  
 //                                              credentials: "same-origin",  
 //                                              mode: "same-origin",  
 //                                              method: "post",  
 //                                              body: data  
 //                                      })  
 //                                      .then(response => response.json())  
 //                                      .then(json => info.textContent=json['msg'])  
                                 }  
                         });  
 //                                      turnstile.remove();  
                 });  
         };  
 }  
   
 form.addEventListener("submit", (event) => {  
         event.preventDefault();  
         sendData();  
 });  
   
   

Legend:
Removed from v.1.93  
changed lines
  Added in v.1.104

https://cvs.kroczynski.net