Я хочу открыть модель при успешном представлении формы, но форма отправки модальных данных не появляется.
public function insert($data) { // Inserting into your table // Calling model $done = $this->db->insert('sign_up', $data); if($done) { echo "<script>$('#thankyouModal').modal('show')</script>"; echo '<div class="modal fade" id="thankyouModal" tabindex="-1" role="dialog"> <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" id="myModalLabel">Thank you for pre-registering!</h4> </div> <div class="modal-body"> <p>Thanks for getting in touch!</p> </div> </div> </div> </div>'; } }
Я пытаюсь открыть модель в контроллере, используя
$data = array( 'first_name' => $fname, 'last_name' => $lname, 'email' => $email, 'password' => $password ); $this->load->model('modal'); $this->modal->insert($data);
Попробуйте под кодом; это будет работать
public function insert($data) { // Inserting into your table // Calling model $done = $this->db->insert('sign_up', $data); // You can do something else here if($done) { ?> <script>$(document).ready(function(){$('#thankyouModal').modal('show')});</script> <div class="modal fade" id="thankyouModal" tabindex="-1" role="dialog"> <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" id="myModalLabel">Thank you for pre-registering!</h4> </div> <div class="modal-body"> <p>Thanks for getting in touch!</p> </div> </div> </div> </div> <?php } }
Поместите код модального файла в файл вида, чтобы мы могли легко вызвать модальный код с javascript в файле вида. И вам нужно установить переменную во флэш-данных, чтобы вы могли проверить условие, что форма была успешно вставлена или нет. Вот код, я надеюсь, это поможет вам:
Файл контроллера:
public function insert($data) { // Inserting into your table // Calling model $done = $this->db->insert('sign_up', $data); // You can do something else here if($done) { //You can set the message and variable name as per your need. $this->session->set_flashdata('inserted','Yes'); //Redirect to the desired view file redirect("controller/anotherfunction_where_view_file_is_loaded"); }
Посмотреть файл:
<div class="modal fade" id="thankyouModal" tabindex="-1" role="dialog"> <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" id="myModalLabel">Thank you for pre-registering!</h4> </div> <div class="modal-body"> <p>Thanks for getting in touch!</p> </div> </div> </div> </div> <?php if((isset($this->session->flashdata('inserted'))) && $this->session->flashdata('inserted') != "") { ?> <script type="text/javascript"> $(document).ready(function(){ $('#thankyouModal').modal('show'); }); </script> <?php } ?>
Я получил ответ
КОНТРОЛЛЕР
public function insert() { $signup_email = $this->input->post('signup_email'); $signup_password = $this->input->post('signup_password'); // Checking if everything is there if ($fname && $signup_email && $signup_password) { $data = array( 'email' => $signup_email, 'password' => $signup_password ); if($this->modal->insert($data)) { echo "SOME DATA TO BE DISPLAYED IN MODAL"; } } }
ПОСМОТРЕТЬ
<body> <div class="modal fade" id="thankyouModal" tabindex="-1" role="dialog"> <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" id="myModalLabel">Thank you for pre-registering!</h4> </div> <div class="modal-body"> <p>Thanks for getting in touch!</p> </div> </div> </div> </div> <script> var signup_email = $('#signUp').val(); var signup_password = $('#signUpPassword').val() ; $.ajax({ type: "POST", url: "<?php echo site_url('form/insert'); ?>", data: { signup_email: signup_email, signup_password: signup_password }, dataType: "html", success: function(data) { if(data) { $('#thankyouModal').modal('show'); } }, error: function() { alert("ERROR!"); } }); </script> </body>