2013-01-11 115 views
1

收到請求後,我想表明我的觀點一個特定的div類......但首先我要檢查sepecific數據是否被成功輸入到數據庫中通過Ajax,如果沒有那麼其他潛水錯誤上課會出現一段時間然後隱藏。笨秀格從控制器

這是我的看法JavaScript代碼。 這裏,如果事件發生suceesfully我想變成一個div類,如果事情真的發生時再「分區成功消息」其他DIV失敗的消息,我彈出一個對話框。我想我必須從控制器傳遞一個特定的參數來查看,但我不知道該怎麼做。

  <script type="text/javascript"> 
      $('#btn').click(function() { 

var item_name = $('#item_name').val(); 
var cat_id = $('#cat_id').val(); 

if (!item_name || item_name == 'Name') { 
    alert('Please enter Category Name'); 
    return false; 
} 

var form_data = { 
     item_name: $('#item_name').val(), 
     cat_id: $('#cat_id').val(), 
    ajax: '1'  

}; 

$.ajax({ 
    url: "<?php echo site_url('itemsController/additems'); ?>", 
    type: 'POST', 
    data: form_data, 
    success: function(msg) { 
     //$('#message').html(msg); 

     alert("items added successfully"); 
      $('#item_name').val(""); 



    } 
}); 

return false; 
    }); 


    </script> 

這是我的控制器

function additems(){ 

    //getting parameters from view 
    $data = array(
      'item_name' => $this->input->post('item_name'), 
      'cat_id' => $this->input->post('cat_id') 

    ); 


    $is_ajax = $this->input->post('ajax'); //or use this line 
    //$this->input->is_ajax_request(); 

    $this->load->model('itemsModel'); 
    $query = $this->itemsModel->addItemstoDB($data); 


      if ($query && $is_ajax){    //if the user c validated 
     //data variable is created becx we want to put username in session 


     $page['main_content'] = 'itemsView'; 

     $this->load->view('dashboardTemplate/template',$page); 


    } 
    else 
    { 
     echo "not added"; 
    } 
    } 




    } 

模型

 class ItemsModel extends CI_Model { 


public function addItemstoDB($data){ 

    $successfull = $this->db->insert('item',$data); 


    if ($successfull){ 
     return true; 
    }else{ 
     return false; 
    } 
} 

}

回答

1

這不是如何在你的控制器處理阿賈克斯都:

第一我要去屁股UME,如果插入false如果沒有,那麼你的模型返回true

控制器:

function additems(){ 
//your processing goes here. 
    $result = array(); 
    $this->load->model('itemsModel'); 
    $query = $this->itemsModel->addItemstoDB($data); 
    //var_dump($query); the results will be desplayed either on your page or you can see it using firebug in firefox 
    if ($query){ //&& any other condition 
     $result['res'] = 1;//process successful - replace 1 with any message 
    } 
    else 
    { 
     $result['res'] = 0;//process failed - replace 0 with any message 
    } 
     echo json_encode($result);//at the end of the function. 
    } 

那麼你的Ajax部分:

$.ajax({ 
    url: "<?php echo site_url('itemsController/additems'); ?>", 
    type: 'POST', 
    data: form_data, 
    dataType: 'json', 
    success: function(msg) { 
     if(msg.res == 1) 
     { 
      $("your div").removeClass("error").addClass("ok"); 
     } 
     else{ 
      $("your div").removeClass("ok").addClass("error");    
      } 


    } 
}); 
+0

感謝它幫了我很多,它的工作原理99 %... 1%是我得到的問題是當我實現你的代碼..我只是替換$(「你的div」)。removeClass(「error」)。addClass(「ok」); $(「your div」)。removeClass(「ok」)。addClass(「error」);這兩條線有警告框真假...然後當我運行它輸出虛假的對話框..但數據成功添加到數據庫.. – mynameisjohn

+0

好,速度快錯字錯誤的腳本。我更新了它。首先添加數組聲明:)。還有其他的東西嗎? –

+0

我將這些行替換爲測試用 – mynameisjohn