From e569e2d26c8c3ffd5ef291a8244207f8147f51aa Mon Sep 17 00:00:00 2001 From: aminovfariz Date: Mon, 8 Jun 2026 10:22:19 +0200 Subject: [PATCH] =?UTF-8?q?fix(helpdesk):=20fix=20manual=20domain=20value?= =?UTF-8?q?=20not=20submitted=20=E2=80=94=20use=20hidden=20input=20for=20d?= =?UTF-8?q?omain=5Fno?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Select had name="domain_no" but JS was looking for input[name="domain_no"]. Moved name to a hidden input #wizard-domain-no; select syncs into it on change; manual text input syncs into it on input event. Co-Authored-By: Claude Sonnet 4.6 --- .../helpdesk/handovers/create(default).phtml | 3 ++- .../helpdesk/web/js/handover-domain-select.js | 24 +++++++++---------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/modules/helpdesk/pages/helpdesk/handovers/create(default).phtml b/modules/helpdesk/pages/helpdesk/handovers/create(default).phtml index c798ecc..7fda7c2 100644 --- a/modules/helpdesk/pages/helpdesk/handovers/create(default).phtml +++ b/modules/helpdesk/pages/helpdesk/handovers/create(default).phtml @@ -150,10 +150,11 @@ if ($canManage && $mode === 'assign' && $step === 2) { >
-
+ diff --git a/modules/helpdesk/web/js/handover-domain-select.js b/modules/helpdesk/web/js/handover-domain-select.js index 4a2a56d..e4203f1 100644 --- a/modules/helpdesk/web/js/handover-domain-select.js +++ b/modules/helpdesk/web/js/handover-domain-select.js @@ -23,6 +23,7 @@ export function initHandoverDomainSelect(root = document) { const scope = group.closest('form') || document; const lookupContainer = scope.querySelector('[data-app-lookup]'); const domainSelect = group.querySelector('#wizard-domain'); + const domainNoInput = group.querySelector('#wizard-domain-no'); const domainUrlInput = group.querySelector('#wizard-domain-url'); const feedback = group.querySelector('#wizard-domain-feedback'); const manualBlock = group.querySelector('#wizard-domain-manual'); @@ -83,8 +84,9 @@ export function initHandoverDomainSelect(root = document) { manualUrlInput.value = ''; } // When showing manual, clear the hidden domain_no/url so only manual values submit - if (show && domainUrlInput) { - domainUrlInput.value = ''; + if (show) { + if (domainNoInput) domainNoInput.value = ''; + if (domainUrlInput) domainUrlInput.value = ''; } }; @@ -92,9 +94,8 @@ export function initHandoverDomainSelect(root = document) { clearOptions(); addPlaceholder(textInitial); domainSelect.disabled = true; - if (domainUrlInput) { - domainUrlInput.value = ''; - } + if (domainNoInput) domainNoInput.value = ''; + if (domainUrlInput) domainUrlInput.value = ''; setFeedback('', ''); showManual(false); }; @@ -145,18 +146,14 @@ export function initHandoverDomainSelect(root = document) { on(domainSelect, 'change', () => { const selected = domainSelect.options[domainSelect.selectedIndex]; - if (domainUrlInput) { - domainUrlInput.value = selected?.dataset.url || ''; - } + if (domainNoInput) domainNoInput.value = selected?.value || ''; + if (domainUrlInput) domainUrlInput.value = selected?.dataset.url || ''; }); // Sync manual inputs → hidden domain_no / domain_url fields if (manualNoInput) { on(manualNoInput, 'input', () => { - const hiddenNo = scope.querySelector('input[name="domain_no"]'); - if (hiddenNo) { - hiddenNo.value = manualNoInput.value.trim(); - } + if (domainNoInput) domainNoInput.value = manualNoInput.value.trim(); }); } if (manualUrlInput) { @@ -189,6 +186,9 @@ export function initHandoverDomainSelect(root = document) { domainSelect.dispatchEvent(new Event('change')); } }); + } else if (domainNoInput && domainNoInput.value) { + // Restore hidden value on page reload with validation errors (manual mode) + if (manualNoInput) manualNoInput.value = domainNoInput.value; } return {