mivita/public/assets/js/jquery.contact-form.js
2018-11-17 02:01:22 +01:00

96 lines
No EOL
2.8 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(function() {
$(document).ready(function() {
var $contact_form = $('#plugin-contact-form');
$contact_form.show();
$contact_email = $('#sender_email_repeat');
$contact_email.parent('div').parent('div').parent('div').hide();
//$('#message').expanding();
$sender_token = $('#sender_token');
if($sender_token.length){
set_token();
}
function set_token(){
var url = $contact_form.prop('action');
var load = "token";
var data = {};
$.ajax({
url: url + "?load=" + load,
type: 'POST',
dataType: 'JSON',
data: data
})
.done(function(data, textStatus, jqXHR) {
//_log(data);
$sender_token.val(data.token);
})
.fail(function(jqXHR, textStatus, errorThrown) {
//_log(jqXHR.responseText);
display_general_error('There was a problem submitting the form: ' + textStatus + ' ' + errorThrown);
});
}
function display_general_error(msg) {
var $error_msg = $('#plugin-contact-form-error');
if (!$error_msg.length) {
$error_msg = $('<p id="plugin-contact-form-error" class="plugin-contact-form-error" style="display: none;"></p>');
$contact_form.prepend($error_msg);
}
$error_msg.html(msg);
$error_msg.fadeIn();
}
$contact_form.submit(function() {
$('.error', this).removeClass('.error');
$('.plugin-contact-form-error', this).hide();
var data = $(this).serialize();
var url = $(this).prop('action');
var load = $(this).data('load');
$.ajax({
url: url + "?load=" + load,
type: 'POST',
dataType: 'JSON',
data: data
})
.done(function(data, textStatus, jqXHR) {
console.log(data);
if (typeof data.errors != 'undefined') {
set_token();
for (key in data.errors) {
if (key == 'general') {
display_general_error(data.errors[key]);
continue;
}
var html_id = '#error-' + key + '-' + data.errors[key];
var $container = $(html_id);
if (!$container.length) {
$container = $('<div id="' + html_id.substring(1) + '" class="alert alert-danger plugin-contact-form-error"><button type="button" class="close" data-dismiss="alert">×</button>' + 'Bitte Feld ausfüllen.' + '</div>');
$('[name=' + key + ']').after($container).addClass('error');
}
$container.hide().fadeIn();
}
}
else {
$contact_form.hide();
var $success_msg = $('#plugin-contact-form-success');
if (!$success_msg.length) {
$success_msg = $('<p id="plugin-contact-form-success" style="display: none;">Nachricht gesendet. Vielen Dank!</p>');
$contact_form.after($success_msg);
}
$success_msg.hide().fadeIn();
}
})
.fail(function(jqXHR, textStatus, errorThrown) {
//_log(jqXHR.responseText);
display_general_error('There was a problem submitting the form: ' + textStatus + ' ' + errorThrown);
});
return false;
});
});
})(jQuery);