Welcome Guest, Not a member yet? Register   Sign In
How to load response from controller inside a div instead of a separate webpage
#1

So I am validating a form using code igniter which simplifies my code a lot however I am facing a new problem. My form at first gets loaded as a pop up inside a div of view. But when the controller returns response after validation then the form opens as a separate webpage instead of just loading inside the previous div of view.

main_view.php

Code:
<script>
function div_show(type, classID) {    
  if(type=='adduser')
  {
    document.getElementById('AddUser_popup').style.display = "block";
    $("#AddUser_popup").load("add_user");  // javascript to call the controller which loads the form
  }
}
</script>
<body>
 <button id="popupNewTerm" onClick="div_show('adduser', null)">Add user</button>

 <div class="AddUser_popup" id="AddUser_popup"><!--Upon add User button click form gets loaded in this-->  </div>
</body>



Controller:

Code:
public function add_user()
{
   $data = array();
   $this->load->helper('form');
   $this->load->helper('url');
   $this->load->library('form_validation');
   $this->load->model('user_m');
   $this->form_validation->set_rules('username','Username', 'required|trim');
   $this->form_validation->set_rules('emp_email','E-mail', 'required|trim|valid-email|xss_clean');

   if($this->form_validation->run()==FALSE)
   {
       $this->load->view('includes/forms/add_user', $data);
   }
   else {
       $data['username']=$this->input->post('username');
       $data['emp_email']=$this->input->post('emp_email');


       $user=array(
           'user_id'=> NULL,
           'username'=> $data['username'],
           'emp_email'=>$data['emp_email']
       );
       $this->user_m->insert_user($user);
       $this->load->view('includes/forms/add_user', $data);
   }
}



Form-> (add_user.php)

Code:
<div id="popupContact">
<?php

if(isset($username) && isset($emp_email))
{
    echo validation_errors();
    echo 'User added successfully!';
}
else {
   echo validation_errors();
   echo form_open('', 'id="form" name="form"');
   echo '<p id="close" onclick ="div_hide()">X</p>';
   echo '<h2>Add User</h2>';
   echo '<hr>';
   echo '<label for="username">Username: </label>'.form_input('username', set_value('username')) .'&nbsp;&nbsp;';
   echo '<label for="emp_email">Email: </label>'.form_input('emp_email', set_value('emp_email')) . '<br><br>';


   echo form_submit('submit', 'Submit', 'id="submit"');

   echo form_close();
}
?>
</div>


how can I load the form inside the main_view.php after the validation fails from the controller or when the validation is successful, I want the form to close inside the main view page. I can do form validation using normal javascript and php but wanted to learn code igniter method of validation. 
Urgently need help, Please.
Reply


Messages In This Thread
How to load response from controller inside a div instead of a separate webpage - by pinakdas163 - 01-25-2017, 04:08 PM



Theme © iAndrew 2016 - Forum software by © MyBB