From 7fdeb0ea6ab913f61813c4caf3b536daed878a43 Mon Sep 17 00:00:00 2001 From: Dasc3er Date: Fri, 27 Nov 2020 18:32:17 +0100 Subject: [PATCH] Correzione per il salvataggio dei select in readonly --- modules/interventi/add.php | 2 +- src/HTMLBuilder/Handler/SelectHandler.php | 23 ++++++++--------------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/modules/interventi/add.php b/modules/interventi/add.php index 2452f3e23..006b71be8 100755 --- a/modules/interventi/add.php +++ b/modules/interventi/add.php @@ -210,7 +210,7 @@ echo '
- {[ "type": "select", "label": "'.tr('Zona').'", "name": "idzona", "values": "query=SELECT id, CONCAT_WS(\' - \', nome, descrizione) AS descrizione FROM an_zone ORDER BY nome", "placeholder": "'.tr('Nessuna zona').'", "help":"'.tr('La zona viene definita automaticamente in base al cliente selezionato').'.", "readonly": "0", "value": "'.$id_zona.'" ]} + {[ "type": "select", "label": "'.tr('Zona').'", "name": "idzona", "values": "query=SELECT id, CONCAT_WS(\' - \', nome, descrizione) AS descrizione FROM an_zone ORDER BY nome", "placeholder": "'.tr('Nessuna zona').'", "help": "'.tr('La zona viene definita automaticamente in base al cliente selezionato').'.", "readonly": "1", "value": "'.$id_zona.'" ]}
diff --git a/src/HTMLBuilder/Handler/SelectHandler.php b/src/HTMLBuilder/Handler/SelectHandler.php index 3bc1db9e1..0727a3762 100755 --- a/src/HTMLBuilder/Handler/SelectHandler.php +++ b/src/HTMLBuilder/Handler/SelectHandler.php @@ -109,24 +109,17 @@ class SelectHandler implements HandlerInterface $result .= ' '; - // Gestione delle proprietà "disabled" e "readonly" - if (in_array('disabled', $extras) || in_array('readonly', $extras)) { - $result .= ' - '; + // Rimozione proprietà "readonly" in favore di "disabled" + $pos = array_search('readonly', $extras); + if ($pos !== false) { + $extras[$pos] = 'disabled'; + $extras = array_unique($extras); } - // Ulteriore gestione della proprietà "readonly" (per rendere il select utilizzabile dopo il submit) - if (in_array('readonly', $extras) && empty($source)) { + // Gestione delle proprietà "disabled" + if (in_array('disabled', $extras)) { $result .= ' - '; + '; } return $result;