Browse Source

fix contact form

master
David Miller 6 years ago
parent
commit
9d1f6d6494
  1. 147
      src/assets/mail/contact_me.js

147
src/assets/mail/contact_me.js

@ -1,75 +1,88 @@
$(function() { $(function () {
$(
$("#contactForm input,#contactForm textarea").jqBootstrapValidation({ "#contactForm input,#contactForm textarea,#contactForm button"
preventSubmit: true, ).jqBootstrapValidation({
submitError: function($form, event, errors) { preventSubmit: true,
// additional error messages or events 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, submitSuccess: function ($form, event) {
success: function() { event.preventDefault(); // prevent default submit behaviour
// Success message // get values from FORM
$('#success').html("<div class='alert alert-success'>"); var name = $("input#name").val();
$('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;") var email = $("input#email").val();
.append("</button>"); var phone = $("input#phone").val();
$('#success > .alert-success') var message = $("textarea#message").val();
.append("<strong>Your message has been sent. </strong>"); var firstName = name; // For Success/Failure Message
$('#success > .alert-success') // Check for white space in name for Success/Fail message
.append('</div>'); if (firstName.indexOf(" ") >= 0) {
//clear all fields firstName = name.split(" ").slice(0, -1).join(" ");
$('#contactForm').trigger("reset"); }
$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("<div class='alert alert-success'>");
$("#success > .alert-success")
.html(
"<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;"
)
.append("</button>");
$("#success > .alert-success").append(
"<strong>Your message has been sent. </strong>"
);
$("#success > .alert-success").append("</div>");
//clear all fields
$("#contactForm").trigger("reset");
},
error: function () {
// Fail message
$("#success").html("<div class='alert alert-danger'>");
$("#success > .alert-danger")
.html(
"<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;"
)
.append("</button>");
$("#success > .alert-danger").append(
$("<strong>").text(
"Sorry " +
firstName +
", it seems that my mail server is not responding. Please try again later!"
)
);
$("#success > .alert-danger").append("</div>");
//clear all fields
$("#contactForm").trigger("reset");
},
complete: function () {
setTimeout(function () {
$this.prop("disabled", false); // Re-enable submit button when AJAX call is complete
}, 1000);
},
});
}, },
error: function() { filter: function () {
// Fail message return $(this).is(":visible");
$('#success').html("<div class='alert alert-danger'>");
$('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;")
.append("</button>");
$('#success > .alert-danger').append($("<strong>").text("Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!"));
$('#success > .alert-danger').append('</div>');
//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) { $('a[data-toggle="tab"]').click(function (e) {
e.preventDefault(); e.preventDefault();
$(this).tab("show"); $(this).tab("show");
}); });
}); });
/*When clicking on Full hide fail/success boxes */ /*When clicking on Full hide fail/success boxes */
$('#name').focus(function() { $("#name").focus(function () {
$('#success').html(''); $("#success").html("");
}); });

Loading…
Cancel
Save