From 2f593360febd2d2187f3d7ce3e470fb672cc6eed Mon Sep 17 00:00:00 2001 From: Tobias Kunze Date: Fri, 24 Oct 2025 11:28:30 +0200 Subject: [PATCH] Fix generated FQDN not being submitted Closes #241 --- src/servala/static/js/dynamic-array.js | 2 ++ src/servala/static/js/fqdn.js | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/servala/static/js/dynamic-array.js b/src/servala/static/js/dynamic-array.js index b6fa4e5..2d0098b 100644 --- a/src/servala/static/js/dynamic-array.js +++ b/src/servala/static/js/dynamic-array.js @@ -129,6 +129,8 @@ const updateRemoveButtonVisibility = (container) => { }) } +window.updateHiddenInput = updateHiddenInput + document.addEventListener('DOMContentLoaded', initDynamicArrayWidget) document.addEventListener('htmx:afterSwap', initDynamicArrayWidget) document.addEventListener('htmx:afterSettle', initDynamicArrayWidget) diff --git a/src/servala/static/js/fqdn.js b/src/servala/static/js/fqdn.js index 7b61c9a..a92071d 100644 --- a/src/servala/static/js/fqdn.js +++ b/src/servala/static/js/fqdn.js @@ -1,6 +1,6 @@ const initializeFqdnGeneration = () => { - const nameField = document.querySelector('input[name="name"]'); + const nameField = document.querySelector('input#id_name'); const fqdnField = document.querySelector('label[for="id_spec.parameters.service.fqdn"] + div input.array-item-input'); if (nameField && fqdnField) { @@ -17,6 +17,10 @@ const initializeFqdnGeneration = () => { newNameField.addEventListener('input', function() { if (!newFqdnField.dataset.manuallyEdited) { newFqdnField.value = generateFqdn(this.value); + const container = newFqdnField.closest('.dynamic-array-widget'); + if (container && window.updateHiddenInput) { + window.updateHiddenInput(container); + } } }); @@ -26,6 +30,10 @@ const initializeFqdnGeneration = () => { if (newNameField.value && !newFqdnField.value) { newFqdnField.value = generateFqdn(newNameField.value); + const container = newFqdnField.closest('.dynamic-array-widget'); + if (container && window.updateHiddenInput) { + window.updateHiddenInput(container); + } } } }