54 lines
2.0 KiB
JavaScript
54 lines
2.0 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function() {
|
|
const registerForm = document.getElementById('registerClergyForm');
|
|
if (registerForm) {
|
|
registerForm.addEventListener('submit', function(e) {
|
|
e.preventDefault();
|
|
const formData = new FormData(this);
|
|
const submitBtn = this.querySelector('button[type="submit"]');
|
|
|
|
submitBtn.disabled = true;
|
|
submitBtn.innerHTML = 'Registering...';
|
|
|
|
fetch('api/register_clergy.php', {
|
|
method: 'POST',
|
|
body: formData
|
|
})
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
if (data.success) {
|
|
showToast('Success', 'Clergy member registered successfully.');
|
|
setTimeout(() => location.reload(), 1500);
|
|
} else {
|
|
showToast('Error', data.error || 'Failed to register clergy.');
|
|
submitBtn.disabled = false;
|
|
submitBtn.innerHTML = 'Register Clergy';
|
|
}
|
|
})
|
|
.catch(error => {
|
|
showToast('Error', 'An unexpected error occurred.');
|
|
submitBtn.disabled = false;
|
|
submitBtn.innerHTML = 'Register Clergy';
|
|
});
|
|
});
|
|
}
|
|
});
|
|
|
|
function showToast(title, message) {
|
|
const toastContainer = document.getElementById('toastContainer');
|
|
const toastHtml = `
|
|
<div class="toast show border-0 card" role="alert" aria-live="assertive" aria-atomic="true">
|
|
<div class="toast-header border-0 pb-0">
|
|
<strong class="me-auto">${title}</strong>
|
|
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
|
|
</div>
|
|
<div class="toast-body pt-1">
|
|
${message}
|
|
</div>
|
|
</div>
|
|
`;
|
|
toastContainer.innerHTML = toastHtml;
|
|
setTimeout(() => {
|
|
toastContainer.innerHTML = '';
|
|
}, 5000);
|
|
}
|