diff --git a/extension/Classes/Core/AbstractBuildForm.php b/extension/Classes/Core/AbstractBuildForm.php
index ecb21a67bd421915b378d1cc3563d8964c627021..6d9ceeed6468197eb2725ec9dc0d851bd0a50b03 100644
--- a/extension/Classes/Core/AbstractBuildForm.php
+++ b/extension/Classes/Core/AbstractBuildForm.php
@@ -3161,7 +3161,7 @@ abstract class AbstractBuildForm {
 
         $chatFieldsetStart = '<fieldset ' . $fieldsetAttribute . '>';
 
-        if ($formElement[FE_LABEL] !== '') {
+        if ($formElement[FE_LABEL] !== '' && $formElement[FE_BS_LABEL_COLUMNS] == 0) {
             $chatFieldsetStart .= '<legend>' . $formElement[FE_LABEL] . '</legend>';
         }
         $chatFieldsetEnd = '</fieldset>';
@@ -3251,6 +3251,7 @@ abstract class AbstractBuildForm {
 
         $inputAttribute .= Support::doAttribute('cols', $colsRows[0]);
         $inputAttribute .= Support::doAttribute('rows', $colsRows[1]);
+        $inputAttribute .= Support::doAttribute('id', $formElement[FE_HTML_ID] . '-chat-i');
 
         // Check if $colsRows[2] != 0 >> enable auto-grow (if nothing is defined: enable auto-grow)
         $maxHeight = $colsRows[2] ?? '350';
diff --git a/javascript/src/Core/FormGroup.js b/javascript/src/Core/FormGroup.js
index 7d707635e76093717934139a3555e683d3ce72c5..f536d63ed129d9d209b7f2d5dea641213498221b 100644
--- a/javascript/src/Core/FormGroup.js
+++ b/javascript/src/Core/FormGroup.js
@@ -95,6 +95,10 @@ QfqNS.Element = QfqNS.Element || {};
         var idArray = $enclosedElement.attr('id').split("-");
         var searchString = "#";
         for(var i = 0; i < 8 && i < idArray.length; i++) {
+            // Handle form-group for chat input element
+            if (idArray[i] === 'chat') {
+                continue;
+            }
             searchString += idArray[i] + "-";
         }
         var $formGroup = $(searchString + 'i');
diff --git a/javascript/src/Helper/qfqChat.js b/javascript/src/Helper/qfqChat.js
index 64a2187283b5e22614e0fe19a983f80db78b79ca..90ffa9774d0174464987e38d106e0a5f8c32cb69 100644
--- a/javascript/src/Helper/qfqChat.js
+++ b/javascript/src/Helper/qfqChat.js
@@ -313,6 +313,12 @@ QfqNS.Helper = QfqNS.Helper || {};
         messageElement.scrollTo({ top: messageElement.scrollHeight, behavior: 'smooth' });
     };
 
+    qfqChat.setInputState = function (element, configItem) {
+        let inputElement = element.nextElementSibling;
+        inputElement.disabled = configItem.disabled;
+        inputElement.required = configItem.required;
+    }
+
     qfqChat.createNewMessage = function (key, chatConfig) {
         let chatContainerElement = document.createElement('div');
         chatContainerElement.className = 'chat-container ' + chatConfig.bubbleClass;
diff --git a/javascript/src/QfqForm.js b/javascript/src/QfqForm.js
index 32dd536ce96423715c70250ddfa62ddd459c165d..105fabeb363343928568cb51a35ec1111e11e4e2 100644
--- a/javascript/src/QfqForm.js
+++ b/javascript/src/QfqForm.js
@@ -1418,8 +1418,9 @@ var QfqNS = QfqNS || {};
 
                     // Chats needs to be loaded with new data
                     // It refreshes the output
-                    if (element.classList.contains('qfq-chat-window') && configurationItem.chat !== undefined) {
+                    if (element.classList !== undefined && element.classList.contains('qfq-chat-window') && configurationItem.chat !== undefined) {
                         n.Helper.qfqChat.refreshChat(element, configurationItem.chat);
+                        n.Helper.qfqChat.setInputState(element, configurationItem);
                     }
                 }