Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-2.0.0.GA, 2.0.2
-
Fix Version/s: 2.1-Beta, EE-2.0.0.GA_P01
-
Component/s: ICE-Components
-
Labels:None
-
Environment:IE7, IE8, IE9
-
Assignee Priority:P2
Description
The sample application has it´s own message handling implementation which provides a correlation between the user interface and data transfer objects. It uses composite components to detect validation errors and then display them on the offending component using a panelToolTip. This works when outside of an ice:dataTable but not within and a javascript error is thrown. For example:
<cc:validationGroup>
<ice:dataTable>
<ice:column>
<f:facet name="header">
<ice:outputText id="column3" value="#{msgs_validation.city}" />
</f:facet>
<cc:tooltip for="city">
<ice:inputText id="city" value="#{partner.city}" valueChangeListener="#{validationCtrl.removeCurrentMessage}" onkeyup="iceSubmitPartial(form,this,event);"/>
</cc:tooltip>
</ice:column>
</ice:dataTable>
</cc:validationGroup>
This works in FF and but not in versions of IE. In IE7/8, the offending field is highlighted in yellow but the tool tip is not displayed and following javascript error is thrown:
Message: Object required
Line: 1
Char: 77237
Code: 0
URI: http://localhost:8280/riweb-presentation/javax.faces.resource/icefaces-compat.js.xhtml;jsessionid=F8670CC02B5CE698C8B8C0BB6AD4E0F5
In IE9, the validation error does not even occur in order to reproduce the issue and the following javascript error is thrown:
SCRIPT5007: Unable to get value of the property 'parentNode': object is null or undefined icefaces-compat.js.xhtml, line 1 character 77237
Both errors correspond to the following code in icefaces-compat.js:
if(element.parentNode){do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);}return new Element.Offset(valueL,valueT);}
<cc:validationGroup>
<ice:dataTable>
<ice:column>
<f:facet name="header">
<ice:outputText id="column3" value="#{msgs_validation.city}" />
</f:facet>
<cc:tooltip for="city">
<ice:inputText id="city" value="#{partner.city}" valueChangeListener="#{validationCtrl.removeCurrentMessage}" onkeyup="iceSubmitPartial(form,this,event);"/>
</cc:tooltip>
</ice:column>
</ice:dataTable>
</cc:validationGroup>
This works in FF and but not in versions of IE. In IE7/8, the offending field is highlighted in yellow but the tool tip is not displayed and following javascript error is thrown:
Message: Object required
Line: 1
Char: 77237
Code: 0
URI: http://localhost:8280/riweb-presentation/javax.faces.resource/icefaces-compat.js.xhtml;jsessionid=F8670CC02B5CE698C8B8C0BB6AD4E0F5
In IE9, the validation error does not even occur in order to reproduce the issue and the following javascript error is thrown:
SCRIPT5007: Unable to get value of the property 'parentNode': object is null or undefined icefaces-compat.js.xhtml, line 1 character 77237
Both errors correspond to the following code in icefaces-compat.js:
if(element.parentNode){do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);}return new Element.Offset(valueL,valueT);}
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion