From 9d1f6d6494417785ef0abed6a4af512c955eb443 Mon Sep 17 00:00:00 2001 From: David Miller Date: Wed, 20 May 2020 15:36:28 -0400 Subject: [PATCH] fix contact form --- src/assets/mail/contact_me.js | 153 ++++++++++++++++++---------------- 1 file changed, 83 insertions(+), 70 deletions(-) diff --git a/src/assets/mail/contact_me.js b/src/assets/mail/contact_me.js index d534819..2a13ab7 100644 --- a/src/assets/mail/contact_me.js +++ b/src/assets/mail/contact_me.js @@ -1,75 +1,88 @@ -$(function() { +$(function () { + $( + "#contactForm input,#contactForm textarea,#contactForm button" + ).jqBootstrapValidation({ + preventSubmit: true, + submitError: function ($form, event, errors) { + // additional error messages or events + }, + submitSuccess: function ($form, event) { + event.preventDefault(); // prevent default submit behaviour + // get values from FORM + var name = $("input#name").val(); + var email = $("input#email").val(); + var phone = $("input#phone").val(); + var message = $("textarea#message").val(); + var firstName = name; // For Success/Failure Message + // Check for white space in name for Success/Fail message + if (firstName.indexOf(" ") >= 0) { + firstName = name.split(" ").slice(0, -1).join(" "); + } + $this = $("#sendMessageButton"); + $this.prop("disabled", true); // Disable submit button until AJAX call is complete to prevent duplicate messages + $.ajax({ + url: "/assets/mail/contact_me.php", + type: "POST", + data: { + name: name, + phone: phone, + email: email, + message: message, + }, + cache: false, + success: function () { + // Success message + $("#success").html("
"); + $("#success > .alert-success") + .html( + ""); + $("#success > .alert-success").append( + "Your message has been sent. " + ); + $("#success > .alert-success").append("
"); + //clear all fields + $("#contactForm").trigger("reset"); + }, + error: function () { + // Fail message + $("#success").html("
"); + $("#success > .alert-danger") + .html( + ""); + $("#success > .alert-danger").append( + $("").text( + "Sorry " + + firstName + + ", it seems that my mail server is not responding. Please try again later!" + ) + ); + $("#success > .alert-danger").append("
"); + //clear all fields + $("#contactForm").trigger("reset"); + }, + complete: function () { + setTimeout(function () { + $this.prop("disabled", false); // Re-enable submit button when AJAX call is complete + }, 1000); + }, + }); + }, + filter: function () { + return $(this).is(":visible"); + }, + }); - $("#contactForm input,#contactForm textarea").jqBootstrapValidation({ - preventSubmit: true, - submitError: function($form, event, errors) { - // additional error messages or events - }, - submitSuccess: function($form, event) { - event.preventDefault(); // prevent default submit behaviour - // get values from FORM - var name = $("input#name").val(); - var email = $("input#email").val(); - var phone = $("input#phone").val(); - var message = $("textarea#message").val(); - var firstName = name; // For Success/Failure Message - // Check for white space in name for Success/Fail message - if (firstName.indexOf(' ') >= 0) { - firstName = name.split(' ').slice(0, -1).join(' '); - } - $this = $("#sendMessageButton"); - $this.prop("disabled", true); // Disable submit button until AJAX call is complete to prevent duplicate messages - $.ajax({ - url: "contact_me.php", - type: "POST", - data: { - name: name, - phone: phone, - email: email, - message: message - }, - cache: false, - success: function() { - // Success message - $('#success').html("
"); - $('#success > .alert-success').html(""); - $('#success > .alert-success') - .append("Your message has been sent. "); - $('#success > .alert-success') - .append('
'); - //clear all fields - $('#contactForm').trigger("reset"); - }, - error: function() { - // Fail message - $('#success').html("
"); - $('#success > .alert-danger').html(""); - $('#success > .alert-danger').append($("").text("Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!")); - $('#success > .alert-danger').append('
'); - //clear all fields - $('#contactForm').trigger("reset"); - }, - complete: function() { - setTimeout(function() { - $this.prop("disabled", false); // Re-enable submit button when AJAX call is complete - }, 1000); - } - }); - }, - filter: function() { - return $(this).is(":visible"); - }, - }); - - $("a[data-toggle=\"tab\"]").click(function(e) { - e.preventDefault(); - $(this).tab("show"); - }); + $('a[data-toggle="tab"]').click(function (e) { + e.preventDefault(); + $(this).tab("show"); + }); }); /*When clicking on Full hide fail/success boxes */ -$('#name').focus(function() { - $('#success').html(''); +$("#name").focus(function () { + $("#success").html(""); });