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