You need to sign in to do that
Don't have an account?
H 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>
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>
Hey Harsh,
Can you specify where exactly you are getting the issue ?
Thanks,
Priya Ranjan