[eluser]Dyllon[/eluser]
In your process function you are successfully returning validation errors with json, you need to return a success message the same way with json.
Then in your jquery callback function check your data to determine if it's validation errors or a saved record and redirect or display errors as necessary.
Untested:
Code:
function process() {
$this->load->helper('jsonwrapper');
$this->load->helper('url');
$this->load->library("validation");
if ($this->validation->run() == FALSE) {
$data = array(
'fname' => $this->validation->fname_error,
'lname' => $this->validation->lname_error
);
echo json_encode($data);
} else {
$data = array(
'fname' => $this->input->post("fname"),
'lname' => $this->input->post("lname"),
'success' => TRUE
);
echo json_encode($data);
}
}
Code:
$(document).ready(function() {
$("#form").submit(function() {
var fname= $("#fname").val();
var lname= $("#lname").val();
$.post("/welcome/process", { fname:fname, lname:lname },
function(data){
if(data.success == TRUE) {
[removed] = BASE_URI + 'welcome';
}
else {
$("#fname_error").html(data.fname);
$("#lname_error").html(data.lname);
}
},'json');
});
});