diff --git a/frontend/src/utils/form/datepicker.js b/frontend/src/utils/form/datepicker.js index dbc1ee1a1..2a32f5a99 100644 --- a/frontend/src/utils/form/datepicker.js +++ b/frontend/src/utils/form/datepicker.js @@ -150,13 +150,17 @@ export class Datepicker { this._element.classList.add(DATEPICKER_INITIALIZED_CLASS); const setDatepickerDate = () => { + // try to parse the current input element value with fancy and internal format string const parsedMomentDate = moment(this._element.value, FORM_DATE_FORMAT_MOMENT[this.elementType]); const parsedMomentDateInternal = moment(this._element.value, FORM_DATE_FORMAT[this.elementType]); // only set the datepicker date if the input is either in valid fancy format or in valid internal format - if (parsedMomentDate.isValid() || parsedMomentDateInternal.isValid()) { + if (parsedMomentDate.isValid()) { this.datepickerInstance.selectDate(parsedMomentDate.toDate()); + } else if (parsedMomentDateInternal.isValid()) { + this.datepickerInstance.selectDate(parsedMomentDateInternal.toDate()); } + // reregister change event to prevent event loop this._element.addEventListener('change', setDatepickerDate, { once: true }); };