1 2 3jQuery(document).ready(function() { 4 5 6 bindFormContatti(); 7 8 9}); 10 11 12function bindFormContatti() 13{ 14 jQuery("#form_contatti button.submit_button").click(onSubmitFormContatti); 15 jQuery("#form_contatti").submit(onSubmitFormContatti); 16} 17 18 19 20function validateContatti() 21{ 22 var form_annuncio=jQuery("#form_contatti")[0]; 23 24 console.log(form_annuncio); 25 26 var bIsValidated=true; 27 28 if (form_annuncio.checkValidity() === false) { 29 30 bIsValidated=false; 31 32 form_annuncio.classList.add('was-validated'); 33 34 } 35 36 37 console.log("result"); 38 console.log(bIsValidated); 39 return bIsValidated; 40} 41 42var bModePreview=false; 43 44 45function onSubmitFormContatti(e) 46{ 47 e.preventDefault(); 48 e.stopPropagation(); 49 50 jQuery('.preview_button').prop('disabled', true); 51 jQuery('.submit_button').prop('disabled', true); 52 jQuery('.loader-segnala-errore').show(); 53 54 jQuery('.alert').hide(); 55 56 // vediamo se ha cliccato anteprima 57 bModePreview=jQuery(this).hasClass('preview_button'); 58 59 if (typeof grecaptcha === 'object') grecaptcha.execute(); 60 61 // altrimenti facciamo direttamente 62 else submitFormContatti(); 63} 64 65 66function submitFormContatti(e) 67{ 68 if (!validateContatti()) { 69 70 // mostro errore 71 jQuery('#missing_fields_alert').show(); 72 73 // mostro bottoni etc 74 jQuery('.loader-segnala-errore').hide(); 75 jQuery('.preview_button').prop('disabled', false); 76 jQuery('.submit_button').prop('disabled', false); 77 // ritorno 78 return; 79 } 80 81 let formData = new FormData(document.querySelector("#form_contatti")); 82 83 jQuery.ajax(ajax_object.ajax_url, { 84 85 type: "POST", 86 data: formData, 87 dataType: 'json', 88 success: afterSubmitContatti, 89 processData: false, 90 contentType: false, 91 92 }); 93 94} 95 96function afterSubmitContatti(jsonData) 97{ 98 jQuery('.loader-segnala-errore').hide(); 99 jQuery('.preview_button').prop('disabled', false); 100 jQuery('.submit_button').prop('disabled', false); 101 102 if (jsonData.success=="0") { 103 104 // errori 105 switch (jsonData.error) { 106 107 108 case '1': // nonce non verificato 109 case '2': // errori nell'aggiungere/modificare il post 110 111 const err_message = document.createElement('span'); 112 err_message.innerText = jsonData.message; 113 document.getElementById('error_alert').appendChild(err_message); 114 jQuery("#error_alert").show(); 115 116 break; 117 } 118 119 120 } else { 121 122 // se invece è la versione definitiva 123 jQuery('#insert_ok').show(); 124 jQuery(".buttons_container").hide(); 125 126 127 128 } 129}
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.