Add Remove input fields dynamically using jQuery


Sometimes we need to adding dynamic fields in a form. For fulfill those needs, we have created a script where you can add multiple fields and remove fields easily. This script is also very useful for add multiple values in PHP. In this tutorial we will discuss about generating input fields on the fly in a form and submitting the input field’s value into the database. We have used jQuery to make this functionality very short, simple and powerful. You can add dynamic fields and remove fields easily. Also you can get the fields value in your PHP script, once the form is submitted.


Please follow the below instruction to understand our script. Also you can view the live demo from the above “Demo” link and download the full script from the “Download” link.


At First include the jQuery library.

<script src="//"></script>

See the below JavaScript comment lines. maxField variable holding the maximum fields increment numbers, addButton variable holding the input fields adding button class, wrapper variable holding all input fields parent div class, fieldHTML variable holding new input field HTML code.

Once the “Add button” is clicked, we will check maximum input fields number. If field counter (x) is less than maxField, the new input field HTML would be append into the fields parent div (wrapper). Also the field counter would be incremented.

Once the “Remove button” is clicked, the parent div of that particular remove button would be removed. Also the field counter would be decrement.

<script type="text/javascript">
    var maxField = 10; //Input fields increment limitation
    var addButton = $('.add_button'); //Add button selector
    var wrapper = $('.field_wrapper'); //Input field wrapper
    var fieldHTML = '<div><input type="text" name="field_name[]" value=""/><a href="javascript:void(0);" class="remove_button" title="Remove field"><img src="remove-icon.png"/></a></div>'; //New input field html 
    var x = 1; //Initial field counter is 1
    $(addButton).click(function(){ //Once add button is clicked
        if(x < maxField){ //Check maximum number of input fields
            x++; //Increment field counter
            $(wrapper).append(fieldHTML); // Add field html
    $(wrapper).on('click', '.remove_button', function(e){ //Once remove button is clicked
        $(this).parent('div').remove(); //Remove field html
        x--; //Decrement field counter


<div class="field_wrapper">
        <input type="text" name="field_name[]" value=""/>
        <a href="javascript:void(0);" class="add_button" title="Add field"><img src="add-icon.png"/></a>


Once the multiple form fields are submitted, then you can get the values as an array in PHP script.

print '<pre>';
0] => value1
[1] => value2
[2] => value3
[3] => value4

Now you can run a foreach loop and insert the values into the database or whatever you want.

$field_values_array $_REQUEST['field_name'];
$field_values_array as $value){
//your database query goes here

Related Articles

Comments 0