// Get a Quote Form function recaptchaCallback() { let response = grecaptcha.getResponse(); $("#hidden-grecaptcha").val(response); $('#hidden-grecaptcha-error').remove(); } function recaptchaExpired() { jQuery("#hidden-grecaptcha").val(""); } (function ($) { "use strict"; // Validate let formContact = $("#getquote-form"); formContact.validate({ rules: { name: "required", email: { required: true, email: true }, mobile: "required", message: "required", "hidden-grecaptcha": { required: true, minlength: "255" } }, messages: { name: "Your name is required.", email: { required: "Email is required.", email: "The email is not a valid email." }, mobile: "The phone number is required.", message: "The message is required.", "hidden-grecaptcha": { required: "The captcha is required.", minlength: "The captcha must be less than 255 characters." } }, submitHandler: function(form) { $.ajax( { type: 'POST', url: $(form).attr('action'), data: $(form).serialize(), beforeSend: function () { $('#btn-contact').attr("disabled", true).addClass("btn-disabled"); }, success: function (response) { $('#btn-contact').attr("disabled", false).removeClass("btn-disabled"); $(form).trigger("reset"); $('#contactFormSent').removeClass('formSent'); setTimeout(function(){ $('#contactFormSent').addClass('formSent'); }, 5000); grecaptcha.reset(); }, error: function () { $('#btn-contact').attr("disabled", false).removeClass("btn-disabled"); $('#contactFormError').removeClass('formError'); setTimeout(function(){ $('#contactFormError').addClass('formError'); }, 5000); grecaptcha.reset(); } } ); } }); })(jQuery);