Multi Step Form Using PHP,Bootstrap and jQuery

This post help to understand multi step form submission with progress bar using php, jQuery and bootstrp3.Multi steps form is very useful functionality when the user input data is too much.We will divide user input data into steps and associate these steps each other using navigation like tab or pills.
We will gather all these step data and submit all inputs on final step of multi steps form data.I am using non ajax method to submit data using php, you can use ajax submit using jQuery.

There are following steps will follow on this article,

  1. We will create multi steps UI using bootstrap
  2. Navigation next and previous steps using jquery
  3. Post the all steps form data and get into action.php file


Simple Example of Multi step form Using jQuery and Bootstrap

Step 1: We will create index.php file, where we need to test this sample example,I need to include jquery and bootstrap library file in section of index.php file.

Here i am using cdn and googleapi path for jquery and bootstrap, you can also use these library locally and replace with your path.

Step 2: Creating HTML UI for all steps which you need in multi step form to follow user and added into index.php file.

i have created 3 steps using HTML field-set control for each step, so whenever user click next and previous button we will slide fieldset based on current step.

Step 3: Add css class in section of index.php file to hide fieldset except first fieldset.

Step 4: We will use jQuery to hide and show HTML fieldset for navigation between steps,You need to add below code into footer of index.php file.

Step 5: created action.php file added below code into this file.

So after completion of all steps user will clicked submit button, We will post all steps data and send to action.php file using form action attribute.

You can download source code and Demo from below link.

  • Bernardo de la torre aparicio

    how can you make it somehow it sends the info to admin email?

    • You can use javascript send to mail function or you can use backend email programming function like in php there is email() function

  • you can create your own validation rule or can be use jquery plugin for that.

  • Hall of Famer

    Nice writeup, although I notice a tiny bit of issue with your approach. If I add a container ‘div’ or ‘p’ and wrap the next/prev buttons inside the container, it will stop working. This is because the javascript is making assumption that ‘fieldset’ is the parent element for the next/prev buttons. If this condition isnt satisfied, it will not work. My suggestion is that, instead of looking for the parent element for next/prev buttons, its better to look for the closest fieldset element. So change $(this).parent() to $(this).closest(“fieldset”), just my two cents.