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 {