$(function() { $("#frmPrenota").submit( function() { if( fCheckObbligatori() ) { fSaveData(); } return false; }); // CHANGE $('.required').change(function () { if ($.trim($(this).val()) === "") { $(this).removeClass('is-valid').addClass('is-invalid'); return; } if ($(this).attr('name') === 'intNumeroPersone') { var v = parseInt($(this).val(), 10); if (isNaN(v) || v < 1) { // <--- condizione corretta $(this).val(0).removeClass('is-valid').addClass('is-invalid'); } else { $(this).val(v).removeClass('is-invalid').addClass('is-valid'); } } 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'); } }); $('#intNumeroPersone').blur(function () { var v = parseInt($(this).val(), 10); if (isNaN(v) || v < 1) { $(this).val(0); } else { $(this).val(v); } }); $('#privacy').change(function(){ if ( $(this).prop('checked') ) { $('#lblprivacy').html( '' ); } else { $('#lblprivacy').html( fHTMLErrore( "Accettazione obbligatoria." ) ); } }); }); function fSaveData() { $('submit').focus(); $('#submitBut').addClass('d-none'); $('#submitLoad').removeClass('d-none'); var data; var strDestination = ''; var blnSaved = false; $.ajax({ type: "POST", async: false, dataType: "json", url: "/tpl/2019/assets/ajax/sendPrenota.php", data: $("#frmPrenota").serialize(), success: function(data) { strDestination = data.destination; if ( data.status == 'ok' ) blnSaved = true; else swal("Ops...", "Registrazione dati non riuscita", "error"); }, error: function(data) { swal("Ops...", "Procedura non completata.", "error"); } }); if ( blnSaved ) { location.href = strDestination; } else { $('#submitLoad').addClass('d-none'); $('#submitBut').removeClass('d-none'); } } // Controllo campi obbligatori function fCheckObbligatori() { var blnReturn = true; $( ".lbl" ).html(""); $('.required').each(function () { if ($.trim($(this).val()) === "") { blnReturn = false; $(this).removeClass('is-valid').addClass('is-invalid'); return; // continue } if ($(this).attr('name') === 'intNumeroPersone') { var v = parseInt($(this).val(), 10); if (isNaN(v) || v < 1) { // <--- qui era invertito blnReturn = false; $(this).val(0).removeClass('is-valid').addClass('is-invalid'); } else { $(this).val(v).removeClass('is-invalid').addClass('is-valid'); } } else if ($(this).attr('name') === 'txtEmail') { if (!(/(.+)@(.+){2,}\.(.+){2,}/.test($(this).val()))) { blnReturn = false; $(this).removeClass('is-valid').addClass('is-invalid'); } else { $(this).removeClass('is-invalid').addClass('is-valid'); } } else { $(this).removeClass('is-invalid').addClass('is-valid'); } }); // Controllo privacy if ( ! $('#privacy').prop('checked') ) { blnReturn = false; $('#lblprivacy').html( fHTMLErrore( "Accettazione obbligatoria." ) ); } if ( ! blnReturn ) { $('#submitLoad').addClass('d-none'); $('#submitBut').removeClass('d-none'); } $('#loader-email').addClass('d-none'); return blnReturn; } function fHTMLErrore( pstr ) { return '' + pstr + ''; }