Project

General

Profile

Actions

Bug #38849

closed

IRRE record can not be expaned in IE

Added by Andreas Kiessling over 11 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
-
Target version:
-
Start date:
2012-07-10
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
4.5
PHP Version:
Tags:
Complexity:
easy
Is Regression:
Sprint Focus:

Description

A really weired error after upgrading to 4.5.17 which has to do with the fixed hide/unhide issue:

IE8 and 9 do not show any error after clicking the title to expand a record, but the details are not shown, only the spinner is active.
I could not reproduce it on a 4.7 setup what makes it even stranger, because the jsfunc.inline.js files seem to be identical in 4.5 and .47.

However, there seems to be a problem with the removal of the elements

    // It might be the case that a child record
    // cannot be hidden at all (no hidden field)
if (formObj.length && valueObj.length) {
    hiddenValue = formObj[0].checked;
    formObj[0].remove();
    valueObj[0].remove();
}

I needed to wrap formObj0 and valueObj0 in a $() so the prototype method is used here and not the DOM method.

    // It might be the case that a child record
    // cannot be hidden at all (no hidden field)
if (formObj.length && valueObj.length) {
    hiddenValue = formObj[0].checked;
    $(formObj[0]).remove();
    $(valueObj[0]).remove();
}

Prototype seems to not directly remove the element, but calls removeChild from the parentNode. Maybe this prevents IE in that case from crashing.

  remove: function(element) {
    element = $(element);
    element.parentNode.removeChild(element);
    return element;
  },

Actions

Also available in: Atom PDF