in my project I need to post the data from view model to controller, but my AJAX post code is not working. Could you please help me in solving this problem?
My modal code which contains form in view:
<div class="modal fade" id="modal_form">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Modal title</h4>
</div>
<div class="modal-body">
<form action="#" method="post" id="form" role="form">
<legend>Form title</legend>
<div class="form-group">
<label >First Name</label>
<input name="firstname" type="text" class="form-control" placeholder="Input field">
</div>
<div class="form-group">
<label >Last Name</label>
<input name="lastname" type="text" class="form-control" placeholder="Input field">
</div>
<div class="form-group">
<label >gender</label>
<input name="gender" type="text" class="form-control" placeholder="Input field">
</div>
<div class="form-group">
<label >Address</label>
<textarea name="address" id="input" class="form-control" rows="3" required="required"></textarea>
</div>
<div class="form-group">
<label >Dob</label>
<input name="dob" type="date" class="form-control" placeholder="Input field">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" id="savebtn" onclick="save()" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
My ajax and jquery code to post the data to controller,
function save(){
$('#savebtn').text('saving...');
$('#savebtn').attr('disabled',true);
$.ajax({
url : "<?php echo base_url('index.php/Crud/add_details')?>",
type: "POST",
data: $('#form').serialize(),
dataType: "JSON",
success: function(data)
{
if(data.status) //if success close modal and reload ajax table
{
$('#modal_form').modal('hide');
reload_table();
}
$('#savebtn').text('save'); //change button text
$('#savebtn').attr('disabled',false); //set button enable
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data');
$('#savebtn').text('save'); //change button text
$('#savebtn').attr('disabled',false); //set button enable
}
});
}
Controller function
public function add_details() {
$data = array(
'firstName' => $this->input->post('firstName'),
'lastName' => $this->input->post('lastName'),
'gender' => $this->input->post('gender'),
'address' => $this->input->post('address'),
'dob' => $this->input->post('dob'),
);
$insert = $this->person->save($data);
echo json_encode(array("status" => TRUE)); }
But it is not posting data to my controller. Any kind of help would be appreciated. Thanks.