Fixed bug #15244: htmlArea RTE: textearea Id may not be unique in FE
authorStanislas Rolland <typo3@sjbr.ca>
Tue, 27 Jul 2010 16:51:31 +0000 (16:51 +0000)
committerStanislas Rolland <typo3@sjbr.ca>
Tue, 27 Jul 2010 16:51:31 +0000 (16:51 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@8284 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
typo3/sysext/rtehtmlarea/ChangeLog
typo3/sysext/rtehtmlarea/pi2/class.tx_rtehtmlarea_pi2.php

index d70f01b..21ec6cc 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-07-27  Stanislas Rolland  <typo3@sjbr.ca>
+
+       * Fixed bug #15244: htmlArea RTE: textearea Id may not be unique in FE
+
 2010-07-27  Xavier Perseguers  <typo3@perseguers.ch>
 
        * Added feature #15221: Add hook to postprocess upload of a file
index 96d5d09..cee0fe5 100644 (file)
@@ -1,3 +1,7 @@
+2010-07-27  Stanislas Rolland  <typo3@sjbr.ca>
+
+       * Fixed bug #15244: htmlArea RTE: textearea Id may not be unique in FE
+
 2010-07-26  Stanislas Rolland  <typo3@sjbr.ca>
 
        * Fixed bug #15243: htmlArea RTE: Extension stylesheets refer to incorrect selectors
index 1cda109..8dbfe20 100644 (file)
@@ -248,7 +248,7 @@ class tx_rtehtmlarea_pi2 extends tx_rtehtmlarea_base {
 
                        // Register RTE windows:
                $this->TCEform->RTEwindows[] = $PA['itemFormElName'];
-               $textAreaId = htmlspecialchars($PA['itemFormElName']);
+               $textAreaId = htmlspecialchars($PA['itemFormElName']) . '_' . strval($this->TCEform->RTEcounter);
 
                        // Register RTE in JS:
                $this->TCEform->additionalJS_post[] = $this->registerRTEinJS($this->TCEform->RTEcounter, '', '', '',$textAreaId);
@@ -290,8 +290,7 @@ class tx_rtehtmlarea_pi2 extends tx_rtehtmlarea_base {
        function setSaveRTE($RTEcounter, $form, $textareaId) {
                return '
                if (RTEarea[\'' . $textareaId . '\'] && !RTEarea[\'' . $textareaId . '\'].deleted) {
-                       fields = document.getElementsByName(\'' . $textareaId . '\');
-                       field = fields.item(0);
+                       var field = document.getElementById(\'RTEarea' . $textareaId . '\');
                        if (field && field.nodeName.toLowerCase() == \'textarea\') {
                                field.value = RTEarea[\'' . $textareaId . '\'][\'editor\'].getHTML();
                        }