function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
TehNrdTehNrd 

Rerender column in IE causes fields to disappear

When re rendering a single column in IE6 the values in those fields disappear and are not rendered at all. Here is code to reproduce. Simply click on the probability input fields and then click away. The close date field will vanish.

Code:
PAGE:

<apex:page controller="column">
     <apex:form >
         <apex:pageBlock >
             <apex:pageBlockTable value="{!opps}" var="o">
                 <apex:column value="{!o.Name}"/>
                 <apex:column headerValue="Probability">
                     <apex:inputField value="{!o.probability}">
                         <apex:actionSupport event="onblur" action="{!dosomething}" rerender="date"/>
                     </apex:inputField>
                 </apex:column>
                 <apex:column value="{!o.closeDate}" id="date"/>
             </apex:pageBlockTable>    
         </apex:pageBlock>
     </apex:form>
</apex:page>

CONTROLLER:

public class column {

    public List<Opportunity> getOpps(){
        List<Opportunity> opps = [select Id, Name, CloseDate, Probability from Opportunity limit 5];
        return opps;
    }
    
    public PageReference doSomething(){
        system.debug('something');
        return null;
    }
}

 

yibongleeyibonglee
If you want to rerender something, you have to wrap the component tag in an "outputPanel" tag.

Message Edited by yibonglee on 11-13-2008 05:48 PM
TehNrdTehNrd
Correct. I should have posted my solution. Here it is:

Code:
<apex:page controller="column">
     <apex:form >
         <apex:pageBlock >
             <apex:pageBlockTable value="{!opps}" var="o">
                 <apex:column value="{!o.Name}"/>
                 <apex:column headerValue="Probability">
                     <apex:inputField value="{!o.probability}">
                         <apex:actionSupport event="onblur" action="{!dosomething}" rerender="date"/>
                     </apex:inputField>
                 </apex:column>
                 <apex:column headerValue="Close Date">
                      <apex:outputPanel id="date">
                          <apex:outputField value="{!o.closeDate}"/>
                      </apex:outputPanel>
                 </apex:column>
             </apex:pageBlockTable>    
         </apex:pageBlock>
     </apex:form>
</apex:page>