2012-03-19 7 views
0

最初は申し訳ありませんが、本当に大きな初心者です。Codeigniter jquery ajaxスライダダウンアニメーションで選択

私はユーザーの小さなカルトフォームを構築していて、挿入は大丈夫です。

チャットメッセージを挿入すると、そのメッセージが挿入された後、メッセージが下にスライドしてしまい、ちょっと止まってしまいました。

私のjqueryの

$('#chat_submit').on('click', function(e){ 
      e.preventDefault(); 
      var res = { 
       'msg' : $('#chat_msg').val(), 
      } 

      $.ajax({ 
       type: 'POST', 
       url: '<?php echo base_url(); ?>main/send_chat', 
       data: res, 
       dataType: 'json', 
       success: function(data, html){ 
        $('#chat_msg').removeAttr('value'); 

       } 
      }); 
      return false; 
     }); 

htmlとphpの

<div id="content"> 
    <h2>Chat</h2> 
      <div id="chatbox"> 
      <?php foreach ($chat as $ch): ?> 
       <?php 
        echo ' 
         <div class="chat_post"> 
          <span class="chat_time">'.date('H:i', strtotime($ch->added)).'</span> 
          <a href="'.base_url().'profile/user/'.$ch->uid.'" class="chat_name">'.$ch->first_name. " " .$ch->last_name.': </a> 
          <span class="chat_msg">'.$ch->msg.'</span> 
         </div> 
        '; 
       ?> 
      <?php endforeach; ?> 
      </div> 
      <?php echo form_open(base_url() . "main/send_chat"); ?> 
     <div id="feed_wrapp"> 
      <input type="text" name="msg" id="chat_msg"> 
      <input type="submit" value="Küldés" class="submit" id="chat_submit">  
     </div> 
    <?php echo form_close(); ?> 
</div> 

私はさまざまな方法を試してみましたが、イム全く無知、誰かが私が行方不明です何を指摘していただけますか?私のコントローラで

送信チャット機能

function send_chat() 
    { 

     $this->load->model('user/chat_model'); 
     if($this->input->is_ajax_request()) 
     { 
      $this->chat_model->chat_insert(); 
     } 
     //redirect(base_url()); 
    } 

と私のモデルでは、インサート

function chat_insert() 
    { 
     $chat = array(
      'uid' => $this->session->userdata('uid'), 
      'msg' => $this->input->post('msg') 
     ); 

     $this->db->insert('pf_chat_post', $chat); 
    } 

答えて

1

が最初にこの

function send_chat() 
{ 
$succeed = false; 
$this->load->model('user/chat_model'); 
if ($this->input->is_ajax_request()) { 
    $succeeded = $this->chat_model->chat_insert(); 
} 
if ($succeeded) { 
    echo '<div class="chat_post"> 
         <span class="chat_time">' . date('H:i') . '</span> 
         <a href="' . base_url() . 'profile/user/' . $this->session->userdata('uid') . '" class="chat_name">' . $this->input->post('first_name') . " " . $this->input->post('last_name') . ': </a> 
         <span class="chat_msg">' . $this->input->post('msg') . '</span> 
        </div>'; 
} 
} 

function chat_insert() 
{ 
$chat = array(
    'uid' => $this->session->userdata('uid'), 
    'msg' => $this->input->post('msg') 
); 
$this->db->insert('pf_chat_post', $chat); 
return ($this->db->affected_rows() > 0); 
} 

とあなたのようにあなたのCIコントローラとモデルの機能を変更しますフォームは、 "first_name"と "last_name"という2つの隠し入力を追加します

<input type="hidden" name="first_name" value="database value" /> 
<input type="hidden" name="last_name" value="database value" /> 

、その後$アヤックスの呼び出しであなたの成功の機能で、この追加:こんにちは、お返事ありがとうございました、私は本当に失われたイムbecuse私の質問を更新し

$("#chatbox").append(data); 
+0

を、私のquerysを掲載、可能性がありますしてくださいseÜchatメソッドの後に追加する方法を説明しますか? – Side

+0

私の答えを編集しました。 –

+0

ご協力いただきありがとうございます – Side

関連する問題