在codeigniter

时间:2016-02-02 11:36:30

标签: javascript ajax codeigniter

我的问题是如何在没有刷新页面的情况下单击按钮后显示确认消息..我的代码正在运行但是当我单击按钮时,页面总是令人耳目一新。我知道ajax如何使用这个但是我在ajax的新手。还有一个,在提交按钮后,我的网址改为admin_home / librarian_msg,而不是http:localhost / webitefoler / admincontroller。

在视图admin_page.php中

  <?php echo form_open('admin_home/librarian_msg');
   echo form_label('Librarians Message');?>
    <textarea class="form-control" name="the_librarian">   </textarea>
    <?php echo form_submit('submit', 'Update',"class='btn btn- success navbar-btn'");?>
                <?php echo form_close();
                ?>

                <div class="alert alert-success">
                <?php echo $message_display;?>
   <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;     </a>

控制器admin_home.php中的

 public function librarian_msg()
  {
    $data['title'] = 'some text here';
        // Check validation for user input in SignUp form
 $this->form_validation->set_rules('the_librarian', 'Message',  'trim|required|xss_clean');
 $message = $this->input->post('the_librarian');
 $result = $this->home_admin_database->librarian_msg_insert($message);
 if ($result == TRUE) {

 $data['message_display'] ='Message Updated';
  $this->load->view('admin_page', $data);
  } else {
  $data['message_display'] = 'Update Failed';
   $this->load->view('admin_page', $data);
 }

 }

在模特中 home_admin_database.php

public function librarian_msg_insert($data) {
$message = array(
           'message' => $data,
        );
// Query to insert data in database
 $this->db->where('lm_id', '1');
$this->db->update('librarians_message', $message);
 if ($this->db->affected_rows() > 0) {
 return true;
 }
 else {
 return false;
 }
 } 

帮帮我......

1 个答案:

答案 0 :(得分:1)

尝试使用此java脚本代码提交表单: - 在下面的代码中使用您的表单ID而不是#your_form_id。 在下面的代码中使用您的状态消息div id而不是your_status_message。

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script>
         $("#your_form_id").submit(function(e)
        {
            var postData = $(this).serializeArray();
            var formURL = $(this).attr("action");
            $.ajax(
            {
                url : formURL,
                type: "POST",
                data : postData,
               beforeSend: function(){
                   // Append status message to the div
                   $('#your_status_message').append('Sending....');


               },
              complete: function(){
                   // Append success message to the div
                   $('#your_status_message').append('Complete....');
              },              
                success:function(data, textStatus, jqXHR) 
                {

                   $('#your_status_message').append('Success....');
                },
                error: function(jqXHR, textStatus, errorThrown) 
                {

                }
            });
            e.preventDefault(); //STOP default action
            e.unbind(); //unbind. to stop multiple form submit.
        });
</script>