diff --git a/src/animaltrack/web/templates/actions.py b/src/animaltrack/web/templates/actions.py index b2f276e..c3c63ab 100644 --- a/src/animaltrack/web/templates/actions.py +++ b/src/animaltrack/web/templates/actions.py @@ -47,6 +47,7 @@ def event_datetime_field( """ picker_id = f"{field_id}_picker" input_id = f"{field_id}_input" + ts_utc_id = f"{field_id}_ts_utc" # If initial value is set, start with picker expanded has_initial = bool(initial_value) @@ -57,7 +58,7 @@ def event_datetime_field( toggle_onclick = f""" var picker = document.getElementById('{picker_id}'); var input = document.getElementById('{input_id}'); - var tsField = document.querySelector('input[name="ts_utc"]'); + var tsField = document.getElementById('{ts_utc_id}'); if (picker.style.display === 'none') {{ picker.style.display = 'block'; this.textContent = 'Use current time'; @@ -70,14 +71,14 @@ def event_datetime_field( """ # Inline JavaScript for input change handler - input_onchange = """ - var tsField = document.querySelector('input[name="ts_utc"]'); - if (tsField && this.value) { + input_onchange = f""" + var tsField = document.getElementById('{ts_utc_id}'); + if (tsField && this.value) {{ var date = new Date(this.value); tsField.value = date.getTime().toString(); - } else if (tsField) { + }} else if (tsField) {{ tsField.value = '0'; - } + }} """ return Div( @@ -111,7 +112,7 @@ def event_datetime_field( ), cls="mt-1", ), - Hidden(name="ts_utc", value=initial_ts), + Hidden(id=ts_utc_id, name="ts_utc", value=initial_ts), cls="space-y-1", )