Fix: agresif override browser cache untuk dateInput dengan removeAttribute, requestAnimationFrame, dan setTimeout
This commit is contained in:
@@ -775,11 +775,31 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||
// Lakukan ini SEBELUM setupFilters() untuk memastikan value ter-set dengan benar
|
||||
const dateInput = document.getElementById('filter-date');
|
||||
if (dateInput) {
|
||||
// Force set value dan attribute untuk override browser cache
|
||||
// AGGRESIF: Remove value dulu, lalu set lagi untuk force override browser cache
|
||||
dateInput.removeAttribute('value');
|
||||
dateInput.value = '';
|
||||
|
||||
// Set value multiple times dengan berbagai cara untuk memastikan
|
||||
dateInput.value = today;
|
||||
dateInput.setAttribute('value', today);
|
||||
// Juga set property langsung untuk memastikan
|
||||
dateInput.defaultValue = today;
|
||||
|
||||
// Force update dengan requestAnimationFrame untuk memastikan DOM sudah ready
|
||||
requestAnimationFrame(() => {
|
||||
dateInput.value = today;
|
||||
dateInput.setAttribute('value', today);
|
||||
console.log('[Dashboard] Date input force set (RAF):', today, 'actual value:', dateInput.value);
|
||||
});
|
||||
|
||||
// Set lagi setelah semua async operations selesai
|
||||
setTimeout(() => {
|
||||
if (dateInput.value !== today) {
|
||||
dateInput.value = today;
|
||||
dateInput.setAttribute('value', today);
|
||||
console.log('[Dashboard] Date input force set (timeout):', today, 'actual value:', dateInput.value);
|
||||
}
|
||||
}, 100);
|
||||
|
||||
console.log('[Dashboard] Date input set to:', today, 'actual value:', dateInput.value);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user