2013-05-08 95 views
2

我有一個Codeingiter應用程序,使用jquery將帖子保存到數據庫中!但問題是它存儲兩次相同的數據!我審查了代碼,但我似乎無法弄清楚!請幫幫我! 查看:codeigniter兩次保存帖子

<div id="poster"> 
    <label id="poster_label" > State your feeling.. </label> <br /> 
    <textarea rows="3" cols="60" id="poster_textarea" ></textarea> <br /> 
    <input type="button" id="poster_button" value="Publish" /> 
</div> 

JS:

$('#poster_button').click(function(){ 
    if(!$('#poster_textarea').val()){ 
     $('#poster_textarea').css('border','1px solid pink').focus(); 
     return false; 
    }else{ 
     var poster_textarea = $('#poster_textarea').val(); 
     var url = "<?php echo base_url();?>index.php/blog/add_post"; 
     $.ajax({ 
      type: "POST", 
      url: url, 
      data: 'poster_textarea='+poster_textarea, 
      //datatype: "json", 
      success: function() 
      { 
       alert('saved'); 
      } 
     }); 
    } 
}); 

控制器:

function add_post(){ 
    $post_data = array(
     'id'   => '', 
     'user_id' => '11330', 
     'content' => $this->input->post('poster_textarea'), 
     'date_time' => date("Y-m-d H:i:s"), 
     'status'  => '1' 
    ); 
    $this->blog_model->add_post($post_data); 
} 

型號:

function add_post($post_data){ 
    $this->db->trans_start(); 
    $this->db->insert('posts',$post_data); 
    $this->db->trans_complete(); 
} 
+0

那麼你需要點擊Net標籤並提交表格,檢查多少職位都發給。 – 2013-05-08 06:11:53

+0

@Syed Haider Hassan:當然,它發送兩個帖子..它顯示在螢火蟲!但爲什麼應該發佈兩個? – goseo 2013-05-08 06:14:49

回答

1

試一試在你的JS。 它創建DOM樹儘可能我想..

$('#poster_button').click(function(e){ 
e.stopImmediatePropagation(); 
if(!$('#poster_textarea').val()){ 
     $('#poster_textarea').css('border','1px solid pink').focus(); 
     return false; 
    }else{ 
     var poster_textarea = $('#poster_textarea').val(); 
     var url = "<?php echo base_url();?>index.php/blog/add_post"; 
     $.ajax({ 
      type: "POST", 
      url: url, 
      data: 'poster_textarea='+poster_textarea, 
      //datatype: "json", 
      success: function() 
      { 
       alert('saved'); 
      } 
     }); 
    } 
}); 
如果您有螢火蟲
+1

它工作正常,但功能stopImmediatePropagation()做什麼? – goseo 2013-05-08 06:18:39

+0

它保持繼續製作DOM樹,直到刷新頁面。 因此,爲了制止它,你需要使用函數.. 我使用它在我的項目中很多,當我使用ajax:p 也檢查此頁。 http://api.jquery.com/event.stopImmediatePropagation/ – 2013-05-08 06:20:24

+0

非常感謝你的好朋友! – goseo 2013-05-08 06:21:54