From 71535a112ddd853d920b4d0d5af9ae53f4a4cdbd Mon Sep 17 00:00:00 2001
From: Andreas Fernandez <a.fernandez@scripting-base.de>
Date: Fri, 27 Mar 2020 12:24:30 +0100
Subject: [PATCH] [BUGFIX] Set `data-formengine-input-name` for disabled text
 fields
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Disabled input fields now contain the `data-formengine-input-name`
attribute. The slug creation is now able to determine disabled fields as
well to take them into consideration.

Resolves: #90141
Releases: master, 9.5
Change-Id: I153a2d8e3e3e67fd6d865bd4e72691c67ab18c3e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63947
Tested-by: Frank Nägler <frank.naegler@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Frank Nägler <frank.naegler@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
---
 .../backend/Classes/Form/Element/InputTextElement.php  | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/typo3/sysext/backend/Classes/Form/Element/InputTextElement.php b/typo3/sysext/backend/Classes/Form/Element/InputTextElement.php
index 697eb8029740..7827878ea1c3 100644
--- a/typo3/sysext/backend/Classes/Form/Element/InputTextElement.php
+++ b/typo3/sysext/backend/Classes/Form/Element/InputTextElement.php
@@ -92,13 +92,21 @@ class InputTextElement extends AbstractFormElement
             if (in_array('password', $evalList, true)) {
                 $itemValue = $itemValue ? '*********' : '';
             }
+
+            $disabledFieldAttributes = [
+                'class' => 'form-control',
+                'data-formengine-input-name' => $parameterArray['itemFormElName'],
+                'type' => 'text',
+                'value' => $itemValue,
+            ];
+
             $html = [];
             $html[] = '<div class="formengine-field-item t3js-formengine-field-item">';
             $html[] =   $fieldInformationHtml;
             $html[] =   '<div class="form-wizards-wrap">';
             $html[] =       '<div class="form-wizards-element">';
             $html[] =           '<div class="form-control-wrap" style="max-width: ' . $width . 'px">';
-            $html[] =               '<input class="form-control" value="' . htmlspecialchars($itemValue) . '" type="text" disabled>';
+            $html[] =               '<input ' . GeneralUtility::implodeAttributes($disabledFieldAttributes, true) . ' disabled>';
             $html[] =           '</div>';
             $html[] =       '</div>';
             $html[] =   '</div>';
-- 
GitLab