// Caricamento pagina $(function() { $("#frmNewsletter").submit( function() { if( fCheckObbligatori() ) fSaveData(); return false; }); // Cattura i change $(".radact").change(function() { fCheckObbligatori(); }); $('.required').change(function() { if ( $.trim( $(this).val() ) == "" ) $(this).removeClass('is-valid').addClass('is-invalid'); else { if ( $(this).attr('name') == 'txtEmail' ) { if (!(/(.+)@(.+){2,}\.(.+){2,}/.test($(this).val()))) $(this).removeClass('is-valid').addClass('is-invalid'); else $(this).removeClass('is-invalid').addClass('is-valid'); } else $(this).removeClass('is-invalid').addClass('is-valid'); } }); $('#privacy').change(function() { if ( $(this).prop('checked') ) $('#lblprivacy').html( '' ); else $('#lblprivacy').html( fHTMLErrore( "Acceptance required." ) ); }); }); // Registra i dati function fSaveData() { $('submit').focus(); $('#submitBut').addClass('d-none'); $('#submitLoad').removeClass('d-none'); var data; var strResult = ''; var blnSaved = false; $.ajax({ type: "POST", async: false, dataType: "json", url: "/tpl/default/assets/ajax/saveNewsletter.php", data: $("#frmNewsletter").serialize(), success: function(data) { strResult = data.result; $('#submitLoad').addClass('d-none'); if ( data.status == 'ok' ) { blnSaved = true; } else if ( data.status == 'obbligatori' ) { // campi obbligatori mancanti $('#submitBut').removeClass('d-none'); } else if ( data.status == 'found' ) { // ERRORE REGISTRAZIONE : indirizzo già presente in archivio $('#submitBut').removeClass('d-none'); } else if ( data.status == 'notfound' ) { // ERRORE RIMOZIONE : Indirizzo non presente $('#submitBut').removeClass('d-none'); } else swal("Ops...", "salvataggio non riuscito.", "error"); }, error: function(data) { swal("Ops...", "", "error"); } }); if ( blnSaved ) { $('#submitResult').removeClass('d-none'); location.href = $('#urlResult').val() + strResult; } else { $('#submitLoad').addClass('d-none'); $('#submitBut').removeClass('d-none'); } } // Controllo campi obbligatori function fCheckObbligatori() { $('submit').focus(); $('#submitBut').addClass('d-none'); $('#submitLoad').removeClass('d-none'); var blnReturn = true; $( ".form-group" ).removeClass( "has-error" ); $( ".lbl" ).html(""); var email = $.trim( $('#txtEmail').val() ); var emailLabel = $('#lbltxtEmail'); var blnActionRemove = $('#radioActionRemove').prop('checked'); // Email if ( email != '' ) { if (!(/(.+)@(.+){2,}\.(.+){2,}/.test($('#txtEmail').val()))) { // ERRORE SINTASSI EMAIL blnReturn = false; $('#txtEmail').removeClass('is-valid').addClass('is-invalid'); } else { emailLabel.html(""); $('.email-loader').removeClass('d-none'); // results : inizio $.ajax({ type: "POST", async: false, dataType: "json", url: "/tpl/default/assets/ajax/checkEmail.php", data: "action=checkEmailComplete_Newsletter&pstrEmail="+email, success: function(data) { if ( data.status == 'ok' ) { if ( data.found == '1' && ! blnActionRemove ) { // ERRORE REGISTRAZIONE : indirizzo già presente in archivio blnReturn = false; $('#txtEmail').removeClass('is-valid').addClass('is-invalid'); emailLabel.html( fHTMLErrore( "L'indirizzo risulta già inserito nel nostro archivio!" ) ); } else if ( data.found == '0' && blnActionRemove ) { // ERRORE RIMOZIONE : indirizzo non presente in archivio blnReturn = false; $('#txtEmail').removeClass('is-valid').addClass('is-invalid'); emailLabel.html( fHTMLErrore( "L'indirizzo non risulta inserito nel nostro archivio!" ) ); } else { // OK $('#txtEmail').removeClass('is-invalid').addClass('is-valid'); } } else swal("Ops...", "Verifica email non riuscita.", "warning"); }, error: function(data) { swal("Ops...", "", "error"); } }); // results : fine } $('.email-loader').addClass('d-none'); } else { blnReturn = false; $('#txtEmail').removeClass('is-valid').addClass('is-invalid'); } if ( blnActionRemove ) { // Rimuovi indirizzo $('#lbltxtNominativo, #lblchkPrivacy').html(''); $('#boxNominativo, #box-privacy-box').addClass('d-none'); } else { // Aggiungi indirizzo $('#boxNominativo, #box-privacy-box').removeClass('d-none'); // Nomivativo if ( $('#txtNominativo').val() == '' ) { blnReturn = false; $('#txtNominativo').removeClass('is-valid').addClass('is-invalid'); } else $('#txtNominativo').removeClass('is-invalid').addClass('is-valid'); // Privacy if ( ! $('#privacy').prop('checked') ) { blnReturn = false; $('#lblprivacy').html( fHTMLErrore( "Acceptance required." ) ); } } $('#submitLoad').addClass('d-none'); $('#submitBut').removeClass('d-none'); return blnReturn; } function fHTMLErrore( pstr ) { return '' + pstr + ''; }