October 22, 2024
Chicago 12, Melborne City, USA
PHP

php isset values in input fields created via jquery Add – Remove Fields


I am using form where Input fields are added via jquery and Add-Remove Button.

I want to use and keep entered data in added inputs when only one or two other inputs have some errors after php validation.

What I Want is : If user added 5 rows via Add Button for Input Fields and one input has some error and form get submitted (show errors) and when showing form again, I want to show all 5 rows with all input fields and keep rest entered text intact in other fields…

Current code is showing word "Array" in input fields

Code I am using and trying with are as follows:

Jquery Code :

<script>
$(document).ready(function(){
    var html_row = '<tr><td><input type="text" name="post[]" id="post" class="form-control" value=""></td>  <td><input type="text" name="full_name[]" id="full_name" class="form-control" value="<?php if(isset($full_name)) { echo $full_name;}?>"></td><td><input type="text" name="lm_number[]" id="lm_number" class="form-control" value="<?php if(isset($lm_number)) { echo $lm_number;}?>"></td><td><input type="text" name="mbs_number[]" id="mbs_number" class="form-control" value="<?php if(isset($mbs_number)) { echo $mbs_number;}?>"></td><td><input type="text" name="mobile_number[]" id="mobile_number" class="form-control" value="<?php if(isset($mobile_number)) { echo $mobile_number;}?>"></td><td><input type="button" name="remove" id="remove_row" class="btn btn-danger"  value="X Remove"></td></tr>';
    
    var max = 30;
    var x = 1;
    
      $('#add_row').click(function(){
        if(x <= max){
          $('#table_fields').append(html_row);
        }           
      });
      $('#table_fields').on('click', '#remove_row', function(){
          $(this).closest('tr').remove();
          x--;
     });            
});         
</script>

HTML Code :

<table class="table table-bordered" id="table_fields">
<tr>
  <th>Post</th>
  <th>Full Name</th>
  <th>L.M. Number</th>
  <th>M.B.S. Number</th>
  <th>Mobile</th>
  <th>Add/Remove</th>
</tr>
                                
<tr>
  <td><input type="text" name="post[]" id="posts" class="form-control" value=""></td>
  <td><input type="text" name="full_name[]" id="full_name" class="form-control" value="<?php if(isset($full_name)) { echo $full_name;}?>"></td>
  <td><input type="text" name="lm_number[]" id="lm_number" class="form-control" value="<?php if(isset($lm_number)) { echo $lm_number;}?>"></td>
  <td><input type="text" name="mbs_number[]" id="mbs_number" class="form-control" value="<?php if(isset($mbs_number)) { echo $mbs_number;}?>"></td>
  <td><input type="text" name="mobile_number[]" id="mobile_number" class="form-control" value="<?php if(isset($mobile_number)) { echo $mobile_number;}?>"></td>
  <td><input type="button" name="add" id="add_row" class="btn btn-primary"  value="+ Add"></td>
</tr>   
</table>

PHP Code :

<?php
  $post = $database->filter($_POST['post']);
    foreach ($post as $key => $value){
        $post_value = $value; 
        $full_name = $database->filter($_POST['full_name']);
        $lm_number = $database->filter($_POST['lm_number']);
        $mbs_number = $database->filter($_POST['mbs_number']);
        $mobile_number = $database->filter($_POST['mobile_number']);
        
        $name = $full_name[$key]; 
        $life_membership_number = $lm_number[$key]; 
        $mbs_number_final = $mbs_number[$key]; 
        $mobile = $mobile_number[$key]; 
        
        //// Code to insert in database... working ok
        
    }
?>



You need to sign in to view this answers

Leave feedback about this

  • Quality
  • Price
  • Service

PROS

+
Add Field

CONS

+
Add Field
Choose Image
Choose Video