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
Najoua AzaroualNajoua Azaroual 

How to submit a form, visualforce page ?

Hi,
I have a visualforce page that contains tabPanel with forms, please i wanna know how to save the records into a custom object ?
here is some lines of the code i'm using :
 
<apex:tab label="4- Frais" name="OpenActivities" id="tabOpenAct" disabled="{!currentTab<>'4'}">
     <apex:pageBlock >
         <apex:pageBlockSection >
    
              <apex:outputlabel value="{!'Frais (en Dhs) : '}"></apex:outputlabel>
              <apex:inputtextarea id="frais"/>
     
             <apex:outputlabel value="{!'Avance : '}"></apex:outputlabel>
            <apex:inputtextarea id="avance"/>

            <apex:commandButton value="Prev" action="{!prevTab}" reRender="AccountTabPanel"/>
 
           </apex:pageBlockSection>
              <apex:commandButton action="{!save}" value="Enregistrer"/>
     </apex:pageBlock>

</apex:tab>

</apex:tabPanel>

</apex:form>

</apex:page>

the code for the controller :
 
public with sharing class Dossier {


public String currentTab { get; set; }

 {
        currentTab = '1';
    }
    
    public void nextTab() { currentTab = String.valueOf(Integer.valueOf(currentTab)+1); }
    public void prevTab() { currentTab = String.valueOf(Integer.valueOf(currentTab)-1); }
   
public PageReference save() {

}

}

 
Ashish_Sharma_DEVSFDCAshish_Sharma_DEVSFDC
Hi,

Which record you want to save ? Please paste your complete vf page .
Najoua AzaroualNajoua Azaroual
In fact, all of them

here's my vf page :
 
<apex:page Controller="Dossier" showHeader="true" docType="html-5.0" tabStyle="Account">

  <apex:form >
  <apex:tabPanel switchType="client" selectedTab="{!currentTab}" id="AccountTabPanel"  immediate="true">

            <apex:tab label="1- Informations sur le client" name="ClientDetails" id="tabdetails" disabled="{!currentTab<>'1'}" >

   
                <apex:pageBlock title="Nature de Client">
                        <apex:pageBlockSection title=" Moral:" >
       
         <apex:outputlabel value="{!'Etat civil : '}"></apex:outputlabel>
         <apex:selectRadio >
                    <apex:selectOption itemLabel="Mlle" itemValue="mlle"/>
                    <apex:selectOption itemLabel="Mme" itemValue="mme"/>
                    <apex:selectOption itemLabel="Mr" itemValue="mr"/>           
                </apex:selectRadio> 
            
      <apex:outputlabel value="{!'Nom : '}"></apex:outputlabel>
      <apex:inputText id="nomClientMoral"/>
      
      
      <apex:outputlabel value="{!'Prénom : '}"></apex:outputlabel>
      <apex:inputText id="prenomClientMoral"/>
      
      <apex:outputlabel value="{!'CIN : '}"></apex:outputlabel>
      <apex:inputText id="cinClientMoral"/>
      
      <apex:outputlabel value="{!'Adresse : '}"></apex:outputlabel>
      <apex:inputTextarea id="adresseClientMoral"/>
     
      <apex:outputlabel value="{!'Téléphone Fixe : '}"></apex:outputlabel>
      <apex:inputText id="fixeClientMoral"/>
      
      <apex:outputlabel value="{!'Téléphone Mobile : '}"></apex:outputlabel>
      <apex:inputText id="telClientMoral"/>
       
      <apex:outputlabel value="{!'Date de naissance : '}"></apex:outputlabel>
        <apex:input type="date" value="{!dateNaissance}"/>
     
      <apex:outputlabel value="{!'Lieu de naissance : '}"></apex:outputlabel>
      <apex:inputText id="lieuClientMoral"/>
       
      <apex:outputlabel value="{!'Métier : '}"></apex:outputlabel>
      <apex:inputText id="metierClientMoral"/>
      
       
   
       <apex:commandButton value="Next" action="{!nextTab}" reRender="AccountTabPanel"/>
             
   </apex:pageBlockSection>
       
     <apex:pageBlockSection title="Physique:">
         
         <apex:outputlabel value="{!'Nom de l établissement : '}"></apex:outputlabel>
      <apex:inputText id="etabClientPhysique"/>
      
         <apex:outputlabel value="{!'Siège Social : '}"></apex:outputlabel>
      <apex:inputTextarea id="siegeClientPhysique"/>
         
         <apex:outputlabel value="{!'Registre de Commerce : '}"></apex:outputlabel>
      <apex:inputText id="registreClientPhysique"/>
         
         <apex:outputlabel value="{!'Représentant Légal : '}"></apex:outputlabel>
      <apex:inputText id="replegClientPhysique"/>
         
         <apex:outputlabel value="{!'Téléphone Fixe : '}"></apex:outputlabel>
      <apex:inputText id="fixeClientPhysique"/>
         
         <apex:outputlabel value="{!'Téléphone Mobile 1 : '}"></apex:outputlabel>
      <apex:inputText id="tel1ClientPhysique"/>
         
         <apex:outputlabel value="{!'Téléphone Mobile 2 : '}"></apex:outputlabel>
      <apex:inputText id="tel2ClientPhysique"/>
        
         <apex:outputlabel value="{!'Numéro du FAX : '}"></apex:outputlabel>
      <apex:inputText id="faxClientPhysique"/>
      
   
       <apex:commandButton value="Next" action="{!nextTab}" reRender="AccountTabPanel"/>
         
         
     </apex:pageBlockSection>
     </apex:pageBlock>
   
   

</apex:tab>
<apex:tab label="2- Informations sur l'adversaire" name="AdversaireDetails" id="tabContact"  disabled="{!currentTab<>'2'}">
   
    
  
     <apex:pageBlock title="Nature de l'adversaire">
   <apex:pageBlockSection title=" Moral:" >
       
         <apex:outputlabel value="{!'Etat civil : '}"></apex:outputlabel>
         
          <apex:selectRadio >
                    <apex:selectOption itemLabel="Mlle" itemValue="mlle"/>
                    <apex:selectOption itemLabel="Mme" itemValue="mme"/>
                    <apex:selectOption itemLabel="Mr" itemValue="mr"/>           
                </apex:selectRadio> 
         
            
      <apex:outputlabel value="{!'Nom : '}"></apex:outputlabel>
      <apex:inputText id="nomAdversaireMoral"/>
      
      
      <apex:outputlabel value="{!'Prénom : '}"></apex:outputlabel>
      <apex:inputText id="prenomAdversaireMoral"/>
      
      <apex:outputlabel value="{!'CIN : '}"></apex:outputlabel>
      <apex:inputText id="cinAdversaireMoral"/>
      
      <apex:outputlabel value="{!'Adresse : '}"></apex:outputlabel>
      <apex:inputTextarea id="adresseAdversaireMoral"/>
     
      <apex:outputlabel value="{!'Téléphone Fixe : '}"></apex:outputlabel>
      <apex:inputText id="fixeAdversaireMoral"/>
      
      <apex:outputlabel value="{!'Téléphone Mobile : '}"></apex:outputlabel>
      <apex:inputText id="telAdversaireMoral"/>
       
      <apex:outputlabel value="{!'Date de naissance : '}"></apex:outputlabel>
        <apex:input type="date" value="{!dateNaissanceAdversaire}"/>
     
      <apex:outputlabel value="{!'Lieu de naissance : '}"></apex:outputlabel>
      <apex:inputText id="lieuAdversaireMoral"/>
       
      <apex:outputlabel value="{!'Métier : '}"></apex:outputlabel>
      <apex:inputText id="metierAdversaireMoral"/>
      
      <apex:commandButton value="Prev" action="{!prevTab}" reRender="AccountTabPanel"/>
       <apex:commandButton value="Next" action="{!nextTab}" reRender="AccountTabPanel"/>
             
   </apex:pageBlockSection>
       
     <apex:pageBlockSection title="Physique:">
         
         <apex:outputlabel value="{!'Nom de l établissement : '}"></apex:outputlabel>
      <apex:inputText id="etabAdversairePhysique"/>
      
         <apex:outputlabel value="{!'Siège Social : '}"></apex:outputlabel>
      <apex:inputTextarea id="siegeAdversairePhysique"/>
         
         <apex:outputlabel value="{!'Registre de Commerce : '}"></apex:outputlabel>
      <apex:inputText id="registreAdversairePhysique"/>
         
         <apex:outputlabel value="{!'Représentant Légal : '}"></apex:outputlabel>
      <apex:inputText id="replegAdversairePhysique"/>
         
         <apex:outputlabel value="{!'Téléphone Fixe : '}"></apex:outputlabel>
      <apex:inputText id="fixeAdversairePhysique"/>
         
         <apex:outputlabel value="{!'Téléphone Mobile 1 : '}"></apex:outputlabel>
      <apex:inputText id="tel1AdversairePhysique"/>
         
         <apex:outputlabel value="{!'Téléphone Mobile 2 : '}"></apex:outputlabel>
      <apex:inputText id="tel2AdversairePhysique"/>
        
         <apex:outputlabel value="{!'Numéro du FAX : '}"></apex:outputlabel>
      <apex:inputText id="faxAdversairePhysique"/>
      
       <apex:commandButton value="Prev" action="{!prevTab}" reRender="AccountTabPanel"/>
       <apex:commandButton value="Next" action="{!nextTab}" reRender="AccountTabPanel"/>
         
         
     </apex:pageBlockSection>
     </apex:pageBlock>
   
   


    
</apex:tab>
<apex:tab label="3- Détail du dossier" name="Opportunities" id="tabOpp" disabled="{!currentTab<>'3'}">

 <apex:pageBlock >
   <apex:pageBlockSection >

    <apex:inputcheckbox id="detailsDossierUrgent"/>
    <apex:outputLabel value="{!'Dossier urgent'}" ></apex:outputLabel>
    
    
     <apex:outputlabel value="{!'Date de création du dossier : '}"></apex:outputlabel>
        <apex:input type="date" value="{!datecreationdudossier}"/>
        
        
    <apex:outputlabel value="{!'Type du procès : '}"></apex:outputlabel>
         <apex:selectList value="{!selectedTypeProces}" multiselect="false" size="1">
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                
            </apex:selectList>
            
    
     <apex:outputlabel value="{!'Cour: '}"></apex:outputlabel>
         <apex:selectList value="{!selectedTypeCour}" multiselect="false" size="1">
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                <apex:selectOption itemValue="" itemLabel=""/>
                
            </apex:selectList>
            
       
      <apex:outputlabel value="{!'Juge : '}"></apex:outputlabel>
      <apex:inputText id="NomJuge"/>
      
      <apex:outputlabel value="{!'Numero du dossier : '}"></apex:outputlabel>
      <apex:inputText id="numeroDossier"/>
      
      <apex:outputlabel value="{!'Conseiller : '}"></apex:outputlabel>
      <apex:inputText id="Conseiller"/>
      
      <apex:outputlabel value="{!'Numero du dossier 2 : '}"></apex:outputlabel>
      <apex:inputText id="numeroDossier2"/>
    
    
     <apex:outputlabel value="{!'Verdict : '}"></apex:outputlabel>
     <apex:inputtextarea id="verdict"/>
    
     <apex:commandButton value="Prev" action="{!prevTab}" reRender="AccountTabPanel"/>
       <apex:commandButton value="Next" action="{!nextTab}" reRender="AccountTabPanel"/>
   
   </apex:pageBlockSection>
    </apex:pageBlock>
   
</apex:tab>
<apex:tab label="4- Frais" name="OpenActivities" id="tabOpenAct" disabled="{!currentTab<>'4'}">

<apex:pageBlock >
<apex:pageBlockSection >
    

    <apex:outputlabel value="{!'Frais (en Dhs) : '}"></apex:outputlabel>
     <apex:inputtextarea id="frais"/>
     
     <apex:outputlabel value="{!'Avance : '}"></apex:outputlabel>
     <apex:inputtextarea id="avance"/>

 <apex:commandButton value="Prev" action="{!prevTab}" reRender="AccountTabPanel"/>
 
             
       </apex:pageBlockSection>
        <apex:commandButton action="{!save}" value="Enregistrer"/>
    </apex:pageBlock>

</apex:tab>
</apex:tabPanel>
 </apex:form>
</apex:page>

and here's the complete code for the controller :
 
public with sharing class Dossier {

  
    public String Mr { get; set; }

    public String Mme { get; set; }

    public String Mlle { get; set; }

  
   
     public String account { get; set; }

     public date dateNaissance{get; set;}
     public date dateNaissanceAdversaire{get; set;}
     
     public date datecreationdudossier{get; set;}
     
     public String currentTab { get; set; }
     
     public String selectedtypeProces { get; set; }
     public String selectedtypeCour { get; set; }
    
    {
        currentTab = '1';
    }
    
    public void nextTab() { currentTab = String.valueOf(Integer.valueOf(currentTab)+1); }
    public void prevTab() { currentTab = String.valueOf(Integer.valueOf(currentTab)-1); }
   
   
   
   public List<SelectOption> getTypeProces() {
        List<SelectOption> typeProcesOptions = new List<SelectOption>();
        typeProcesOptions.add(new SelectOption('','-None-'));
        typeProcesOptions.add(new SelectOption('Mlle','Mlle'));
        typeProcesOptions.add(new SelectOption('Mme','Mme'));
        typeProcesOptions.add(new SelectOption('Mr','Mr'));
        typeProcesOptions.add(new SelectOption('','-None-'));
        typeProcesOptions.add(new SelectOption('Mlle','Mlle'));
        typeProcesOptions.add(new SelectOption('Mme','Mme'));
        typeProcesOptions.add(new SelectOption('Mr','Mr'));
        
        return typeProcesOptions;
    }

    public List<SelectOption> getTypeCour() {
        List<SelectOption> typeCourOptions = new List<SelectOption>();
        typeCourOptions.add(new SelectOption('','-None-'));
        typeCourOptions.add(new SelectOption('Mlle','Mlle'));
        typeCourOptions.add(new SelectOption('Mme','Mme'));
        typeCourOptions.add(new SelectOption('Mr','Mr'));
        typeCourOptions.add(new SelectOption('Mlle','Mlle'));
        typeCourOptions.add(new SelectOption('Mme','Mme'));
        typeCourOptions.add(new SelectOption('Mr','Mr'));
        return typeCourOptions;
    }
   


    public PageReference save() {
    
    }   
 }

I am sorry this is too long
NagaNaga (Salesforce Developers) 
Hi Najoua,

Please see the below code

User-added image
Best Regards
Naga Kiran
Eswar Prasad@Sfdc11Eswar Prasad@Sfdc11
Hi Najoua,
this type of task i done,pls see the below code ,its helps to you

visualforce page
<apex:page Controller="TabController" showHeader="true">
<apex:form >
    <!-- Define Tab panel .css styles -->
    <style>
    .activeTab {background-color: #236FBD; color:blue; background-image:none}
    .inactiveTab { background-color: lightgrey; color:black; background-image:none}
    </style>
            
    <!-- Create Tab panel -->
    <apex:tabPanel switchType="client" selectedTab="name2" id="AccountTabPanel"
        tabClass="activeTab" inactiveTabClass="inactiveTab">
        <apex:tab label="One" name="name1" id="tabOne">
         <apex:pageBlock title="AccoutDetails"> 
         name;<apex:inputField value="{!accfields.name}"/>
         <apex:inputField value="{!accfields.phone}"/>
         <apex:inputField value="{!accfields.type}"/>
        </apex:pageblock>
         
         <apex:pageBlock title="contactdetails">
       <apex:inputField value="{!confields.phone}"/>
         <apex:inputField value="{!confields.email}"/>
        </apex:pageblock>
         <apex:commandButton value="save" action="{!saveRecord}"/>
        </apex:tab>
        <apex:tab label="Two" name="name2" id="tabTwo">
        
         </apex:tab>
    </apex:tabPanel>
  </apex:form>
</apex:page>

controller

public with sharing class TabController {

public Account accfields{get;set;}
public contact confields{get;set;}

public TabController(){
accfields=new Account();
confields=new Contact();
}
public PageReference saveRecord() {
    insert accfields;
    insert confields;
        return null;
    }
}
Najoua AzaroualNajoua Azaroual
Thanks guys,

Naga, the code you gave me works, when i click save, but the inputfield isn't displayed, i can't see it

eswar prasad 15, your code also works, but, i want to make the data i grab in the fields visible when i click save 

i want to save and display all the data put in the fields(inputText, picklist..) of all the tabs, by clicking on save