var FORM = {
/**
* Create response tag depending
* on the form that is being submitted
* @param target - the form being submitted
* @param submitBtn
* @param response elem
*/
createTag : function(submitBtn, responseTag) {
submitBtn.val('SENDING...');
$(document).find('.response-tag').remove();
},
/**
* Show success message
* @param submitBtn
*/
showSuccess : function(submitBtn, responseTag) {
submitBtn.val('SENT');
$(document).find('.response-tag').remove();
responseTag.text('Your message has been received. We will be in touch shortly. Thank you!').insertAfter(submitBtn.parent());
setTimeout(function() {
submitBtn.val('SEND');
$(document).find('.response-tag').remove();
}, 7000);
},
/**
* Show error message
* @param submitBtn
*/
showError : function(submitBtn, responseTag, errors) {
submitBtn.val('SEND');
$(document).find('.response-tag').remove();
responseTag.html('An error has occurred.
' + errors).insertAfter(submitBtn.parent());
}
};
var Forms = {
init : function() {
$('form.ajax input[type="submit"]').on('click touchend', this.validate);
$('form.ajax').on('submit', this.submitForm);
},
validate : function(e) {
e.preventDefault();
var form = $(e.target).closest($('form'));
if (form.checkValidity())
{
form.submit();
}
},
submitForm : function(e) {
e.preventDefault();
var form = $(this);
var submitBtn = form.find('input[type=submit]');
var responseTag = $("").addClass("response-tag");
Response.createTag(submitBtn, responseTag);
$.ajax({
url : form.attr('action'),
type : form.attr('method'),
dataType : 'json',
data : form.serialize(),
})
.done(function(data)
{
var form = submitBtn.closest('form');
console.log(data.success);
if (data.success === true)
{
Response.showSuccess(submitBtn, responseTag);
}
else
{
console.log('else');
Response.showError(submitBtn, responseTag, data.errors);
}
})
.error(function(data){
console.dir(data);
Response.showErro(submitBtn, responseTag, data.errors);
});
return false;
},
};
$(document).ready(function() {
if (typeof webshim !== "undefined") {
webshim.setOptions("forms", {
lazyCustomMessages: false,
replaceValidationUI: true,
customDatalist: "auto",
list: {
"filter": "^"
}
});
webshim.polyfill('forms');
}
Forms.init();
});
var Response = {
/**
* Create response tag depending
* on the form that is being submitted
* @param target - the form being submitted
* @param submitBtn
* @param response elem
*/
createTag : function(submitBtn, responseTag) {
submitBtn.val('SENDING...');
$(document).find('.response-tag').remove();
},
/**
* Show success message
* @param submitBtn
*/
showSuccess : function(submitBtn, responseTag) {
submitBtn.val('SENT');
$(document).find('.response-tag').remove();
responseTag.text('Your message has been received. We will be in touch shortly. Thank you!').insertAfter(submitBtn.parent());
setTimeout(function() {
submitBtn.val('SEND');
$(document).find('.response-tag').remove();
}, 7000);
},
/**
* Show error message
* @param submitBtn
*/
showError : function(submitBtn, responseTag, errors) {
submitBtn.val('SEND');
$(document).find('.response-tag').remove();
responseTag.html('An error has occurred.
' + errors).insertAfter(submitBtn.parent());
}
};
var Forms = {
init : function() {
$('form.ajax input[type="submit"]').on('click touchend', this.validate);
$('form.ajax').on('submit', this.submitForm);
},
validate : function(e) {
e.preventDefault();
var form = $(e.target).closest($('form'));
if (form.checkValidity())
{
form.submit();
}
},
submitForm : function(e) {
e.preventDefault();
var form = $(this);
var submitBtn = form.find('input[type=submit]');
var responseTag = $("").addClass("response-tag");
Response.createTag(submitBtn, responseTag);
$.ajax({
url : form.attr('action'),
type : form.attr('method'),
dataType : 'json',
data : form.serialize(),
})
.done(function(data)
{
var form = submitBtn.closest('form');
console.log(data.success);
if (data.success === true)
{
Response.showSuccess(submitBtn, responseTag);
}
else
{
console.log('else');
Response.showError(submitBtn, responseTag, data.errors);
}
})
.error(function(data){
console.dir(data);
Response.showErro(submitBtn, responseTag, data.errors);
});
return false;
},
};
$(document).ready(function() {
if (typeof webshim !== "undefined") {
webshim.setOptions("forms", {
lazyCustomMessages: false,
replaceValidationUI: true,
customDatalist: "auto",
list: {
"filter": "^"
}
});
webshim.polyfill('forms');
}
Forms.init();
});
var FORM = {
/**
* Create response tag depending
* on the form that is being submitted
* @param target - the form being submitted
* @param submitBtn
* @param response elem
*/
createTag : function(submitBtn, responseTag) {
submitBtn.val('SENDING...');
$(document).find('.response-tag').remove();
},
/**
* Show success message
* @param submitBtn
*/
showSuccess : function(submitBtn, responseTag) {
submitBtn.val('SENT');
$(document).find('.response-tag').remove();
responseTag.text('Your message has been received. We will be in touch shortly. Thank you!').insertAfter(submitBtn.parent());
setTimeout(function() {
submitBtn.val('SEND');
$(document).find('.response-tag').remove();
}, 7000);
},
/**
* Show error message
* @param submitBtn
*/
showError : function(submitBtn, responseTag, errors) {
submitBtn.val('SEND');
$(document).find('.response-tag').remove();
responseTag.html('An error has occurred.
' + errors).insertAfter(submitBtn.parent());
}
};
var Forms = {
init : function() {
$('form.ajax input[type="submit"]').on('click touchend', this.validate);
$('form.ajax').on('submit', this.submitForm);
},
validate : function(e) {
e.preventDefault();
var form = $(e.target).closest($('form'));
if (form.checkValidity())
{
form.submit();
}
},
submitForm : function(e) {
e.preventDefault();
var form = $(this);
var submitBtn = form.find('input[type=submit]');
var responseTag = $("").addClass("response-tag");
Response.createTag(submitBtn, responseTag);
$.ajax({
url : form.attr('action'),
type : form.attr('method'),
dataType : 'json',
data : form.serialize(),
})
.done(function(data)
{
var form = submitBtn.closest('form');
console.log(data.success);
if (data.success === true)
{
Response.showSuccess(submitBtn, responseTag);
}
else
{
console.log('else');
Response.showError(submitBtn, responseTag, data.errors);
}
})
.error(function(data){
console.dir(data);
Response.showErro(submitBtn, responseTag, data.errors);
});
return false;
},
};
$(document).ready(function() {
if (typeof webshim !== "undefined") {
webshim.setOptions("forms", {
lazyCustomMessages: false,
replaceValidationUI: true,
customDatalist: "auto",
list: {
"filter": "^"
}
});
webshim.polyfill('forms');
}
Forms.init();
});