Spaces:
Running
Running
File size: 1,358 Bytes
c6bfd28 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
// Shared JavaScript functions
document.addEventListener('DOMContentLoaded', function() {
// Initialize tooltips
const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl);
});
});
// Form validation function
function validateForm(formId) {
const form = document.getElementById(formId);
const inputs = form.querySelectorAll('input[required], select[required], textarea[required]');
let isValid = true;
inputs.forEach(input => {
if (!input.value) {
input.classList.add('border-red-500');
isValid = false;
} else {
input.classList.remove('border-red-500');
}
});
return isValid;
}
// Toggle dropdown function
function toggleDropdown(dropdownId) {
const dropdown = document.getElementById(dropdownId);
dropdown.classList.toggle('hidden');
}
// Close dropdown when clicking outside
document.addEventListener('click', function(event) {
const dropdowns = document.querySelectorAll('.dropdown-content');
dropdowns.forEach(dropdown => {
if (!dropdown.contains(event.target) && !event.target.matches('.dropdown-toggle')) {
dropdown.classList.add('hidden');
}
});
}); |