61 lines
1.9 KiB
JavaScript
61 lines
1.9 KiB
JavaScript
var amountOfForms = $('.frontendForm').length;
|
|
$('.frontendForm').each(function() {
|
|
$(this).on('submit', function(e) {
|
|
e.preventDefault();
|
|
|
|
var form = $(this);
|
|
|
|
// Show overlay with spinner
|
|
$('.loader-overlay').addClass('loaderActive');
|
|
|
|
|
|
formData = form.serializeArray();
|
|
console.log('submitting form');
|
|
$.ajax({
|
|
type: $(this).attr('method'),
|
|
url: $(this).attr('data-target'),
|
|
data: formData,
|
|
dataType: 'json',
|
|
success: function(data) {
|
|
console.log('success');
|
|
// Hide overlay with spinner
|
|
$('.loader-overlay').removeClass('loaderActive');
|
|
// Close the modal
|
|
$('.modal').modal('hide');
|
|
// Clear all fields
|
|
form.find('input, textarea').val('');
|
|
|
|
normalizeToast()
|
|
$('#generalToast').addClass('text-bg-success');
|
|
$('#generalToast').toast('show');
|
|
$('#generalToast').children('.d-flex').children('.toast-body').html('<i class="bi bi-check2"></i> Changes saved successfully.');
|
|
setTimeout(() => {
|
|
$('#generalToast').toast('hide');;
|
|
window.location.reload();
|
|
}, 1500);
|
|
},
|
|
error: function(data) {
|
|
console.log('error');
|
|
// Hide overlay with spinner
|
|
$('.loader-overlay').removeClass('loaderActive');
|
|
|
|
// Check for response code 409
|
|
normalizeToast()
|
|
$('#generalToast').addClass('text-bg-danger');
|
|
$('#generalToast').toast('show');
|
|
|
|
|
|
if (data.status == 409) {
|
|
$('#generalToast').children('.d-flex').children('.toast-body').html('<i class="bi bi-exclamation-triangle-fill"></i> The element you tried to create already exists.');
|
|
}else {
|
|
$('#generalToast').children('.d-flex').children('.toast-body').html('<i class="bi bi-exclamation-triangle-fill"></i> Something went wrong. Please try again later.');
|
|
}
|
|
setTimeout(() => {
|
|
$('#generalToast').toast('hide');
|
|
}, 3000);
|
|
}
|
|
});
|
|
})
|
|
});
|
|
|
|
console.info("Found " + amountOfForms + " forms on this page.") |