2017-02-03 11 views
-1

私はajaxの方が新しいです。私はajaxとcodeigniterを使用して2つのフィールドを追加したいと思います。私が[Submit]ボタンをクリックすると、2つのフィールドが追加されますが、警告メッセージが表示されず、ページがリフレッシュされません。いずれも私の問題を解決することができます。..事前に感謝..codeigniterを使用してajaxアラートが機能しない

これはこれは

コーディング

<script> 
// Ajax post 
    $(document).ready(function() { 
    $("#suggestions").click(function(event) { 
    event.preventDefault(); 
    var name = $("#suggname").val(); 
    var suggestion = $("#suggmessage").val(); 
    $.ajax({ 
    type: "POST", 
    url: "<?php echo site_url('Helen/addSuggestion')?>", 
    dataType: 'json', 
    data: {name: name, suggestion: suggestion}, 
    success: function(data) { 
    if (data=='true') 
    { 
     alert("Thank you for your Suggestion"); 
    } 
    } 
    }); 
    }); 
    }); 
</script> 

コントローラーをcodeing私のアヤックスである

<form action="" id="suggestionsform" method="post"> 
       <div class="form-group"> 
        <label for="suggname">Name</label> 
        <input type="text" class="form-control" name="suggname" id="suggname" placeholder="Enter Your Name" required="required"> 
       </div> 
       <div class="form-group"> 
        <label for="suggmessage">Suggestion</label> 
        <textarea class="form-control" rows="4" name="suggmessage" id="suggmessage" 
        placeholder="Enter Your Suggestions"></textarea> 
       </div> 
       <button type="submit" class="btn btn-default" id="suggestions">Submit</button> 
    </form> 

私のフォームです

public function addSuggestion() { $data=array( 'name' => $this->input->post('name'), 'messages' => $this->input->post('suggestion'), 'date' => now() ); $data=$this->Helen_model->setSuggestion($data); echo json_encode($data); } 

あなたは、このように達成することができます。..

モデル

戻るtrue状況を挿入成功した場合

public function setSuggestion($data){ 
     $this->db->insert('messages', $data); 
     return $this->db->insert_id(); 
    } 
+0

ファイル内にはJavaScriptがロードされていますか? –

+0

コンソールに何かエラーがありますか? – shafiq

答えて

0

コーディングモデル。 success機能で

public function setSuggestion($data){ 
      $res = $this->db->insert('messages', $data); 

      if($res){ 
       $result = array('status'=>true,'message'=>'successful'); 
      } 
      else 
      { 
       $result = array('status'=>false,'message'=>'failed'); 
      } 

      return $result; 
     } 

JS

チェック状態

<script> 
// Ajax post 
    $(document).ready(function() { 
    $("#suggestions").click(function(event) { 
    event.preventDefault(); 
    var name = $("#suggname").val(); 
    var suggestion = $("#suggmessage").val(); 
    $.ajax({ 
    type: "POST", 
    url: "<?php echo site_url('Helen/addSuggestion')?>", 
    dataType: 'json', 
    data: {name: name, suggestion: suggestion}, 
    success: function(response) { 
    data = eval(response);//or data = JSON.parse(response) 
    if (data.status ===true) 
    { 
     alert("Thank you for your Suggestion"); 
    } 
    } 
    }); 
    }); 
    }); 
</script> 
0

は、コントローラの応答にecho '{"status": "success"};を使用してみてください。

あなたのスクリプトには、データベースの応答が表示されています。

関連する問題