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
H 007H 007 

Hi Everyone I am using ActionFunction in My VF page for update my object record and also check some validation with the help of JS, But my action function is not working or not update my record. Can anyone please help me..

public  with sharing class ProjectClass {    
     public List<Cus_Project__c> proj{get;set;}//show Order Data 
        Public Cus_Project__c pr{get;set;} 
     Public Cus_Project__c project{get;set;}
     Public Boolean isEditable {get;set;}       
        
     Public ProjectClass(){ 
          project=[Select Id, name,Order__c,Start__c, End__c,Project_Amount__c, Total_Cost__c,Status__c
                 from Cus_Project__c where id =:ApexPages.currentPage().getParameters().get('id')];         
        
         isEditable= false;     }   
    
     Public void getProject(){
        pr=[Select Id, name,Order__c,Start__c, End__c,Project_Amount__c, Total_Cost__c,Status__c
                 from Cus_Project__c where id =:ApexPages.currentPage().getParameters().get('id')];
     }    
   public PageReference Savepr(){
       
              update project;
            pageReference pnext = new PageReference('/apex/ProjectDetailPage?id='+pr.id);
            pnext.setRedirect(true);
            return pnext;                 
    }   
     public void recEdit(){
         isEditable= true;
         system.debug('Project Callaed');
    }
}

VF: 
<apex:page  controller="ProjectClass" action="{!getProject}" lightningStylesheets="true">
  <apex:form>             
      <script  type="text/javascript">
          function validate(){
             if(document.getElementById('{!$Component.form.pb1.ps1.Start__c}').value==''){
                if(document.getElementById('{!$Component.form.pb1.ps1.Status__c}').value=='In Progress'){
                        alert('Unable to update');
                }
            } else{                
                acc();               
            }       
        }
      </script>
       <apex:pageBlock rendered="true" >              
            <apex:pageBlockSection title=" Project Information" columns="2" >                
                <apex:outputField value="{!pr.Name}"/>
                <apex:outputField value="{!pr.Order__c}"/> 
                <apex:outputField value="{!pr.Start__c}"/>
                <apex:outputField value="{!pr.End__c}"/>
                <apex:outputField value="{!pr.Status__c}"/>
                <apex:outputField value="{!pr.Project_Amount__c}"/>
                <apex:outputField value="{!pr.Total_Cost__c}"/>             
            </apex:pageBlockSection>
       </apex:pageBlock>
  </apex:form>     
        <apex:form id='form'>   
              <apex:actionFunction action="{!savepr}" Name="acc"></apex:actionFunction>
    <apex:pageBlock rendered="true" id="pb1">           
            <apex:pageBlockSection title=" Project Information" columns="2" id="ps1">                
                <apex:inputField value="{!project.Name}"/>
                <apex:inputField value="{!project.Order__c}"/>
                <apex:inputField value="{!project.Start__c}" id="Start__c"/>
                <apex:inputField value="{!project.End__c}"/>
                <apex:inputField value="{!project.Status__c}" id="Status__c"/>
                <apex:inputField value="{!project.Project_Amount__c}"/>
                <apex:inputField value="{!project.Total_Cost__c}"/>             
            </apex:pageBlockSection>
         <apex:pageBlockButtons >
                <apex:commandButton value="SaveData" onclick="validate();"/>
            </apex:pageBlockButtons>
    </apex:pageBlock> 
  </apex:form>
   </apex:page>
PriyaPriya (Salesforce Developers) 

Hey Harsh,

Can you specify where exactly you are getting the issue ?

Thanks,

Priya Ranjan