You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

73 lines
3.7 KiB

/*
notifyMe jQuery Plugin v1.0.0
Copyright (c)2014 Sergey Serafimovich
Licensed under The MIT License.
*/
(function(e) {
e.fn.notifyMe = function(t) {
var r = e(this);
var i = e(this).find("input[name=email]");
var s = e(this).attr("action");
var o = e(this).find(".note");
e(this).on("submit", function(t) {
t.preventDefault();
var h = i.val();
var p = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (p.test(h)) {
$(".message").removeClass("error bad-email success-full");
$(".message").hide().html('').fadeIn();
$(".fa-spinner").addClass("fa-spin").removeClass("opacity-0");
o.show();
e.ajax({
type: "POST",
url: s,
data: {
email: h
},
dataType: "json",
error: function(e) {
o.hide();
$(".fa-spinner").addClass("opacity-0").removeClass("fa-spin");
$(".block-message").addClass("show-block-error").removeClass("show-block-valid");
if (e.status == 404) {
$(".message").html('<p class="notify-valid">Service is not available at the moment.<br>Please check your internet connection or try again later.</p>').fadeIn();
} else {
$(".message").html('<p class="notify-valid">Oops. Looks like something went wrong.<br>Please try again later.</p>').fadeIn();
}
}
}).done(function(e) {
o.hide();
if (e.status == "success") {
$(".fa-spinner").addClass("opacity-0").removeClass("fa-spin");
$(".message").removeClass("bad-email").addClass("success-full");
$(".block-message").addClass("show-block-valid").removeClass("show-block-error");
$(".message").html('<p class="notify-valid">Congrats! You are in list.<br>We will inform you as soon as we finish.</p>').fadeIn();
} else {
if (e.type == "ValidationError") {
$(".fa-spinner").addClass("opacity-0").removeClass("fa-spin");
$(".message").html('<p class="notify-valid">This email address looks fake or invalid.<br>Please enter a real email address.</p>').fadeIn();
} else {
$(".fa-spinner").addClass("opacity-0").removeClass("fa-spin");
$(".message").html('<p class="notify-valid">Oops. Looks like something went wrong.<br>Please try again later.</p>').fadeIn();
}
}
})
} else {
$(".fa-spinner").addClass("opacity-0").removeClass("fa-spin");
$(".message").addClass("bad-email").removeClass("success-full");
$(".block-message").addClass("show-block-error").removeClass("show-block-valid");
$(".message").html('<p class="notify-valid">Your e-mail address is incorrect.<br>Please check it and try again.</p>').fadeIn();
o.hide();
}
// Reset and hide all messages on .keyup()
$("#notifyMe input").keyup(function() {
$(".block-message").addClass("").removeClass("show-block-valid show-block-error");
$(".message").fadeOut();
});
})
}
})(jQuery)