diff --git a/assets/js/main.js b/assets/js/main.js index fcee742..43f2b71 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -41,30 +41,27 @@ document.addEventListener('DOMContentLoaded', () => { } // --- Patient Form: Auto-calculate DOB from Age --- - function calculateDobFromAge(ageInputId, dobInputId) { - const ageInput = document.getElementById(ageInputId); - const dobInput = document.getElementById(dobInputId); - - if (ageInput && dobInput) { - ageInput.addEventListener('input', function() { - const age = parseInt(this.value); - if (!isNaN(age) && age >= 0) { - const currentYear = new Date().getFullYear(); - const birthYear = currentYear - age; - // Default to Jan 1st of the birth year - const dob = `${birthYear}-01-01`; - dobInput.value = dob; - - // Trigger change event if needed (e.g. for validation or other listeners) - dobInput.dispatchEvent(new Event('change')); - dobInput.dispatchEvent(new Event('input')); - } else { - dobInput.value = ''; - } - }); - } + // Use jQuery for better compatibility with Inputmask and existing events + function setupAgeToDob(ageId, dobId) { + $(document).on('input', '#' + ageId, function() { + var age = parseInt($(this).val()); + var $dob = $('#' + dobId); + + if (!isNaN(age) && age >= 0) { + var currentYear = new Date().getFullYear(); + var birthYear = currentYear - age; + // Default to Jan 1st of the birth year: YYYY-01-01 + var dob = birthYear + '-01-01'; + + // Set value and trigger input/change for Inputmask and other listeners + $dob.val(dob).trigger('input').trigger('change'); + } else { + // Optional: Clear DOB if age is invalid/cleared? + // $dob.val('').trigger('input'); + } + }); } - calculateDobFromAge('add_patient_age', 'add_patient_dob'); - calculateDobFromAge('edit_patient_age', 'edit_patient_dob'); -}); \ No newline at end of file + setupAgeToDob('add_patient_age', 'add_patient_dob'); + setupAgeToDob('edit_patient_age', 'edit_patient_dob'); +}); diff --git a/includes/layout/footer.php b/includes/layout/footer.php index a613f68..80f9a18 100644 --- a/includes/layout/footer.php +++ b/includes/layout/footer.php @@ -1299,6 +1299,7 @@ +