Hi guys my form seems to work correctly as in submitting and jquery, although two things: it doesn’t seem to take the information through as it keeps adding 0, 0, 0, 0 as opposed to the things I submit in the form. and next it doesn’t refresh the page afterwards? probably something jquery missing?
insert function in model:
function entry_insert(){
$this->load->helper('form');
$this->load->helper('html');
$this->load->database();
$data = array(
'title'=>$this->input->post('title'),
'url'=>$this->input->post('url'),
'jscore'=>$this->input->post('jscore'),
'kscore'=>$this->input->post('kscore')
);
$this->db->insert('movies',$data);
}
this is the controller function which gets called by the jquery loading the model:
public function addmovie()
{
$this->load->model('Movie_model', '', TRUE);
$this->Movie_model->entry_insert();
return true;
}
html form inside the view:
<form class="form-signin" method="post" id="form-signin">
<h4 class="form-signin-heading">Add a Movie</h4>
<input type="text" class="input-block-level" placeholder="Movie Title" id="title">
<input type="text" class="input-block-level" placeholder="URL" id="url">
<input type="number" class="" min="1" max="100" placeholder="Jamies Score" id="jscore">
<input type="number" class="" min="1" max="100" placeholder="Kellys Score" id="kscore">
<button class="btn btn-large btn-primary" type="submit">Add</button>
</form>
and finally the jquery:
<script>
$(function(){
$("#form-signin").submit(function(){
dataString = $("#form-signin").serialize();
$.ajax({
type: "POST",
url: "http://xxx.com/xx/index.php/welcome/addmovie",
data: dataString,
success: function(data){
alert('Successful!');
}
});
return false; //stop the actual form post !important!
});
});
</script>
can anyone spot what I am doing wrong? and maybe help my jquery refresh?
None of your inputs have
nameattributes, which is required to read the values on the server side, and yourserialize()call is probably returning nothing as well. I guess you thought that’s whatidis for, but it’s not.Example:
Should be: