+ Start a Discussion
B2000B2000 

IE Problem-Input checkbox

I have a problem with IE.  The VF page works correctly in Chrome, Firefox, and Safari but not IE9 (only tested in IE9).  I have an inputCheckbox that when clicked, an actionSupport executes a wrapper class method that sets and updates a date based on if it is checked or unchecked.  Each time the checkbox is checked/unchecked in the 3 browsers, the date and checkbox are populated correctly.  However, in IE9, the first two times the checkbox is checked/unchecked, the checkbox and date populate correctly.  The third time checking/unchecking/checking the checkbox, neither the checkbox nor the date populate and none of the other checkboxes in the list work.  I even tried it with a SelectList and the same thing happens.

Thanks for any assistance.

 

<apex:page controller="PropertyEdit" id="PViewPage" docType="xhtml-1.0-transitional" showHeader="false" >
<apex:form id="PropertyEditFormTop">
<apex:actionFunction name="refreshPage" action="{!refreshPropertyTaskList}" reRender="PropertyEditForm"/>
<apex:actionFunction name="refreshPropertyTaskList" action="{!refreshPropertyTaskList}" reRender="PropertyEditForm"/>
<apex:actionFunction name="refresh" action="{!refresh}" reRender="PropertyEditForm"/>
<apex:composition template="bt_template2">
               
    <apex:define name="body">
    <apex:outputPanel id="PropertyEditForm">
        <div class="sidebar">
            <div class="titleBar">                        
                <h2>Property Information                  
                   <apex:outputLink styleclass="sideBarEdit" value="{!$Page.PropertyEdit}">
                       Edit
                       <apex:param name="PropertyId" value="{!propertyId}" /> 
                       <apex:param name="PageType" value="Edit" /> 
                    </apex:outputLink>
                </h2>
            </div> <!-- END titleBar -->

            <div class="content">
                <h3>Property Address</h3>
                    <p>&nbsp;<strong>{!PropertySelected.Property_Address__c}<br />
                    &nbsp;{!PropertySelected.Property_City__c & ', ' & PropertySelected.Property_State__c &' '& PropertySelected.Property_Zip__c}</strong></p>
                <br />
                <h3>Property Details</h3> 
                <table>
                    <tr>
                        <td>Lot #:</td>
                        <td><strong>{!PropertySelected.Lot_Number__c}</strong></td>
                    </tr>                
                    <tr>
                        <td>Subdivision:</td>
                        <td><strong>{!PropertySelected.Subdivision__c}</strong></td>
                    </tr>   
                    <tr>
                        <td>Close Date:</td>
                        <td>
                            <em>
                            <strong>
                            <apex:outputText value="{0,Date,MM/d/yyyy}">
                                <apex:param value="{!PropertySelected.Proposed_Closing_Date__c}"/>
                            </apex:outputText>
                            </strong>
                            </em>
                        </td>                                   
                    </tr>
                    <tr>
                        <td>Contract Amount:</td>
                        <td><strong>
                            <apex:outputText value="{0,number,$###,###,###}">
                                <apex:param value="{!PropertySelected.Contract_Amount__c}"/>
                            </apex:outputText>                    
                        </strong></td>                
                    </tr>                
                    <tr>
                        <td>Permit Number:</td>
                        <td><strong>{!PropertySelected.Permit_Number__c}</strong></td>                
                    </tr>                                                      
                </table>   
                <br />
                <h3>Buyer Information</h3>
                <br />
                <strong>{!ContactFromPropertySelected.FirstName} {!ContactFromPropertySelected.LastName}</strong>
                    &nbsp;{!ContactFromPropertySelected.Phone}<br />
                    &nbsp;{!ContactFromPropertySelected.MailingStreet}<br />
                    &nbsp;{!ContactFromPropertySelected.MailingCity & ', ' & ContactFromPropertySelected.MailingState &' '& ContactFromPropertySelected.MailingPostalCode}
            
            </div><!-- END content -->
            
            
            <div class="titleBar">
                <h2>
                    Property Costs<a class="sideBarEdit" href="{!URLFOR($Page.PropertyCostItemEdit,null,['PropertyId'=propertyId,'PageType'='View'])}">Edit</a>
                </h2>
            </div>
            <div class="content">
            <table>
            
                <tr>
                    <td valign="top">Actual Expense:</td>
                    <td valign="top" align="right"><strong>
                        <apex:outputText value="{0,number,$###,###.00}">
                            <apex:param value="{!totalCostList[0]}"/>
                        </apex:outputText>
                    </strong></td>                
               </tr>
                <tr>
                    <td valign="top">Original Budget:</td>
                    <td valign="top" align="right"><strong>
                        <apex:outputText value="{0,number,$###,###.00}">
                            <apex:param value="{!totalCostList[1]}"/>
                        </apex:outputText>
                    </strong></td>
                </tr>
                <tr>
                    <td valign="top">Revised Budget:</td>
                    <td valign="top" align="right"><strong>
                        <apex:outputText value="{0,number,$###,###.00}">
                            <apex:param value="{!totalCostList[2]}"/>
                        </apex:outputText>
                    </strong></td>                
                </tr>
                <tr>
                    <td valign="top">Variance:</td>
                    <td valign="top" align="right"><strong>
                        <apex:outputText value="{0,number,$###,###.00}" rendered="{!IF(totalCostList[3]>=0,true,false)}">
                            <apex:param value="{!totalCostList[3]}"/>
                        </apex:outputText>
                        <apex:outputText value="{0,number,($###,###.00)}" style="color:red;" rendered="{!IF(totalCostList[3]<0,true,false)}">
                            <apex:param value="{!ABS(totalCostList[3])}"/>
                        </apex:outputText>
                    </strong></td>                
               </tr>
            </table>
            </div><!-- END content -->       
            </div><!-- END sidebar -->
            
            <div class="doubleCol">         
            <div class="titleBar">
                <h2>
                    Property Task -&nbsp; 
                    <apex:selectList value="{!selectedPropertyTaskStatus}" size="1" 
                        onchange="refresh();" >
                        <apex:selectOptions value="{!propertyTaskStatusOptionList}"/>
                    </apex:selectList>                                       
                </h2>
            </div><!-- END titleBar -->
            
            <div class="content">
            <div class="scrollContentView">
            
            <apex:variable var="row1Color" value="lightgray"/>
            <apex:variable var="row2Color" value="#FFFFFF"/>
            <apex:outputPanel id="PropertyTaskTable">
            <table cellpadding="0" cellspacing="0" class="list" border="1">
                <tr>
                    <th class="cellTwo nowrap">▲</th>
                    <th class="cellTwo nowrap">▼</th>                    
                    <th class="cellTwo">Comp?</th>
                    <th class="cellFour">Description</th>
                   <!-- <th class="cellThree center nowrap">Forecasted<br />Start Date</th>
                    <th class="cellThree center nowrap">Forecasted<br />End Date</th>-->
                    <th class="cellThree center nowrap">Scheduled<br />Start Date</th>
                    <th class="cellThree center nowrap">Scheduled<br />End Date</th>
                    <th class="cellThree center nowrap">Actual<br />Start Date</th>
                    <th class="cellThree center nowrap">Actual<br />End Date</th>
                    <th class="cellFour">Project Manager</th>
                    <th class="cellFour">Vendor</th>
                    <th class="cellTwo center">Dur</th>
                    <th class="cellTwo center">Dep</th>
                    <th class="cellTwo">Delete?</th>
                </tr>
                
                <apex:variable var="cntRow" value="{!0}"/>
                <apex:repeat value="{!wPTaskItemList}" var="PT">
                <apex:variable var="cntRow" value="{!cntRow+1}"/>
                
                <tr style="background-color:{!IF(MOD(cntRow,2)=0,row1Color,row2Color)};
                    {!IF(OR(AND(selectedPropertyTaskStatus!='All',selectedPropertyTaskStatus!=PT.PTaskItem.Status__c),PT.isDeleted),'display:none;','')}">
                    <td class="cellTwo nowrap">
                        <apex:commandLink action="{!adjustPropertyTaskItemList}" style="text-decoration:none;"    
                        value="{!IF(cntRow!=1,'▲','')}">  
                            <apex:param assignTo="{!adjustIdx}" value="-{!PT.PTaskItem.Order__c}" name="adjustIdx"/>                
                        </apex:commandLink>                          
                    </td>
                    
                    
                    <td class="cellTwo nowrap">
                        <apex:commandLink action="{!adjustPropertyTaskItemList}"  style="text-decoration:none;"   
                        value="{!IF(cntRow=wPTaskItemList.size,'','▼')}">  
                            <apex:param assignTo="{!adjustIdx}" value="{!PT.PTaskItem.Order__c}" name="adjustIdx"/>                
                        </apex:commandLink>                                                
                    </td>  
                                                            
                    <td >
<!--
                        <apex:selectList value="{!PT.isCompleted}">
                            <apex:actionSupport event="onclick" action="{!PT.toggleCompleted}" reRender="PropertyTaskTable">
                            </apex:actionSupport>
                            <apex:selectOption itemValue="Yes" itemLabel="Yes"/>
                            <apex:selectOption itemValue="No" itemLabel="No"/>
                        </apex:selectList>
-->                        
                         
                        <apex:inputCheckbox value="{!PT.isCompleted}" rendered="{!!ISNULL(PT.PTaskItem.Actual_Start_Date__c)}" >                            
                            <apex:actionSupport event="onclick" action="{!PT.toggleCompleted}" reRender="PropertyTaskTable" >
                                <apex:param assignTo="{!PT.isCompleted}" value="{!PT.isCompleted}" />
                            </apex:actionSupport>
                        </apex:inputCheckbox>     

                    </td>

                                
                    <td class="cellFour nowrap">
                        <apex:outputLink styleClass="new iframe" value="{!$Page.PropertyTaskItemEdit}"> 
                            {!PT.PTaskItem.Name}
                            <apex:param name="PropertyId" value="{!propertyId}" /> 
                            <apex:param name="PageType" value="Edit" />
                            <apex:param name="propertyTaskItemId" value="{!PT.PTaskItem.Id}" />                
                        </apex:outputLink>                      
                    
                    </td>
                    <td class="cellThree center"><apex:outputField value="{!PT.PTaskItem.Scheduled_Start_Date__c}"/></td>
                    <td class="cellThree center"><apex:outputField value="{!PT.PTaskItem.Scheduled_End_Date__c}"/></td>
                    <td class="cellThree center"><apex:outputField value="{!PT.PTaskItem.Actual_Start_Date__c}"/></td>
                    <td class="cellThree center"><apex:outputField value="{!PT.PTaskItem.Actual_End_Date__c}"/></td>            
                    <td class="cellFour nowrap"><apex:outputField value="{!PT.PTaskItem.Project_Manager__c}"/></td>
                    <td class="cellFour nowrap"><apex:outputField value="{!PT.PTaskItem.Vendor__c}"/></td>
                    <td class="cellTwo center">
                        <apex:outputText value="{0,Number,###}">
                            <apex:param value="{!PT.PTaskItem.Duration__c}"/>
                        </apex:outputText>
                    </td>
                    <td class="cellTwo center nowrap"><apex:outputField value="{!PT.PTaskItem.Dependency__c}"/></td>                     
                    <td class="cellTwo center">
                        <apex:commandLink styleClass="delete" value="X" action="{!deletePropertyTask}">
                            <apex:param value="true" assignTo="{!PT.isDeleted}" name="pp"/>
                        </apex:commandLink>                     
                    </td>
                    
                </tr>                
                </apex:repeat>

                
            </table>
            </apex:outputPanel>    
                    
            </div><!-- END scrollContent -->
            <p>     
            <span class="save">                            
                    <apex:outputLink styleClass="new iframe" value="{!$Page.PropertyTaskItemEdit}"> 
                        New Task
                        <apex:param name="PropertyId" value="{!propertyId}" /> 
                        <apex:param name="PageType" value="New" />
                        <apex:param name="orderNumber" value="{!wpTaskItemList.size+1}" />                
                    </apex:outputLink> 
                    <apex:outputLink styleClass="new" value="{!$Page.PropertyTaskItemView}">
                        Edit Tasks
                        <apex:param name="PropertyId" value="{!propertyId}" /> 
                        <apex:param name="PageType" value="Edit" />               
                    </apex:outputLink>  
                    <apex:outputLink styleClass="new" value="{!$Page.PropertyView}"> 
                        Save
                        <apex:param name="PropertyId" value="{!propertyId}" /> 
                        <apex:param name="PageType" value="View" />               
                    </apex:outputLink>                                                       
            </span></p>            
            </div><!-- END content -->           
            </div><!-- END doubleCol2 -->
            
            <div class="clear"><hr class="hide" /></div>
    </apex:outputPanel>            
    </apex:define>
</apex:composition>
</apex:form>
</apex:page>

CLASS
 	public class wPTaskItem
	{
		public Property_Task_Items__c 		PTaskItem				{get{bt.db('get','ptask',PtaskItem);return PTaskItem;}set{bt.db('set','ptask',PtaskItem);this.PTaskItem=value;}}
		public Boolean						isDeleted				{get;set;}
		public Boolean						isExpanded				{get;set;}
		public Boolean						isDisplayed				{get;set;}
		public Boolean						isCompleted				{get;set;}
		public String						selectedCategory		{get;set;}
		public String						selectedProjectManager	{get;set;}
		public String						selectedVendor			{get;set;}
		public String						selectedDependency		{get;set;}
		public String						selectedFollows			{get;set;}
		
		public List<selectOption>			vendorOptionList		{get;set;}
		public List<selectOption>			dependencyOptionList	{get;set;}
		public List<selectOption>			followsOptionList		{get;set;}
		
		public wPTaskItem(Property_Task_Items__c PTaskItem)
		{
			this.PTaskItem			= PTaskItem;
			isDeleted				= false;
			isExpanded				= false;
			isDisplayed				= true;
			if (PTaskItem.Actual_End_Date__c != null)
				isCompleted			= true;
			else
				isCompleted			= false;

			if (PTaskItem.Category__c != null) selectedCategory					= PTaskItem.Category__c;
			else selectedCategory			= 'None';
			
			if (PTaskItem.Project_Manager__c != null) selectedProjectManager	= PTaskItem.Project_Manager__c;
			else selectedProjectManager		= 'None';
			
			if (PTaskItem.Vendor__c != null) selectedVendor						= PTaskItem.Vendor__c;
			else selectedVendor				= 'None';

			if (PTaskItem.Dependency__c != null) selectedDependency				= PTaskItem.Dependency__c;
			else selectedDependency			= 'None';
		}
		
		public void toggleCompleted()
		{
			PTaskItem.Actual_End_Date__c = null; 
			if (isCompleted)
				PTaskItem.Actual_End_Date__c = date.today();
			update PTaskItem;
		}
		public void toggleIsExpanded(){isExpanded = !isExpanded;}
		public void toggleIsDisplayed(){isDisplayed = !isDisplayed;}
					
	} 

 

Rahul SharmaRahul Sharma

Hi Brian Conlon,

 

 

Once I met with same issue but was with radio button.

Changing events to onselect or onclick worked for me.