Index: typo3/jsfunc.tbe_editor.js =================================================================== --- typo3/jsfunc.tbe_editor.js (revision 6468) +++ typo3/jsfunc.tbe_editor.js (working copy) @@ -324,16 +324,21 @@ document[TBE_EDITOR.formname][theField].value = RTEcontent; alert(document[TBE_EDITOR.formname][theField].value); }, + // strips the "table", the "field" and the "uid" from the fName + extractDataFromFieldName: function(fName) { + var idx = 2 + TBE_EDITOR.prependFormFieldNamesCnt; + var table = TBE_EDITOR.split(fName, '[', idx); + var uid = TBE_EDITOR.split(fName, '[', idx + 1); + var field = TBE_EDITOR.split(fName, '[', idx + 2); + return { table: table.substr(0, table.length-1), uid: uid.substr(0, uid.length-1), field: field.substr(0,field.length-1) }; + }, + getElementFromFieldName: function(fName) { + var data = TBE_EDITOR.extractDataFromFieldName(fName); + return TBE_EDITOR.getElement('data[' + data.table + '][' + data.uid + ']', data.field); + }, fieldChanged_fName: function(fName,el) { - var idx=2+TBE_EDITOR.prependFormFieldNamesCnt; - var table = TBE_EDITOR.split(fName, "[", idx); - var uid = TBE_EDITOR.split(fName, "[", idx+1); - var field = TBE_EDITOR.split(fName, "[", idx+2); - - table = table.substr(0,table.length-1); - uid = uid.substr(0,uid.length-1); - field = field.substr(0,field.length-1); - TBE_EDITOR.fieldChanged(table,uid,field,el); + var data = TBE_EDITOR.extractDataFromFieldName(fName); + TBE_EDITOR.fieldChanged(data.table, data.uid, data.field, el); }, fieldChanged: function(table,uid,field,el) { var theField = TBE_EDITOR.prependFormFieldNames+'['+table+']['+uid+']['+field+']'; Index: t3lib/class.t3lib_tceforms.php =================================================================== --- t3lib/class.t3lib_tceforms.php (revision 6468) +++ t3lib/class.t3lib_tceforms.php (working copy) @@ -5486,7 +5486,7 @@ browserWin.focus(); } function setFormValueFromBrowseWin(fName,value,label,exclusiveValues) { // - var formObj = setFormValue_getFObj(fName) + var formObj = setFormValue_getFObj(fName); if (formObj && value!="--div--") { fObj = formObj[fName+"_list"]; var len = fObj.length; @@ -5495,7 +5495,9 @@ var m = new RegExp("(^|,)"+value+"($|,)"); if (exclusiveValues.match(m)) { // the new value is exclusive - for (a=len-1;a>=0;a--) fObj[a] = null; + for (a = len-1; a >= 0; a--) { + fObj[a] = null; + } len = 0; } else if (len == 1) { m = new RegExp("(^|,)"+fObj.options[0].value+"($|,)"); @@ -5508,14 +5510,23 @@ } // Inserting element var setOK = 1; - if (!formObj[fName+"_mul"] || formObj[fName+"_mul"].value==0) { + if (!formObj[fName + "_mul"] || formObj[fName + "_mul"].value === 0) { for (a=0;a