2015-07-11 2 views
1

Я хочу, чтобы обновить свои данные с помощью CodeIgniter и AJAX для отправить ответ ..Обновление данных с использованием AJAX и CodeIgniter не удалось

Это мой взгляд

<form id="form_update" action="<?php echo base_url() ?>admin/update_derap_info" method="POST" role="form"> 

    <textarea cols="80" id="editor1" name="isi" rows="10" class="form-control" > 

    </textarea> 

<input type="submit" value="Simpan" class="btn btn-sm btn-primary" name="update_info_pemesanan"> 
</form> 

Мой контроллер

$data = array 
    (
     'isi'=> ltrim(rtrim($this->input->post('isi'))) 
    ); 
     $this->info_derap->update($this->input->post('id_info'),$data); 
     echo'<div class="alert alert-success">Terimakasih, pesan anda sudah kami terima. Pemberitahuan selanjutnya kami beritahunak lewat email.</div>'; 
     exit; 

Мои Модель

function update($id,$data){ 
    $this->db->where($this->id, $id); 
    $this->db->update($this->table, $data); 
} 

А вот мой AJAX

<script type="text/javascript">  
    $("#form_update").submit(function (e){ 
     e.preventDefault(); 
     $("#loader").show(); 
     var url = $(this).attr('action'); 
     var data = $(this).serialize(); 
     $.ajax({ 
      url:url, 
      type:'POST', 
      data:$("#form_update").serialize(), 
     }).done(function (data){ 
      $("#response").html(data); 
      $("#loader").hide(); 
      fillgrid(); 
     });       
    });  
</script> 

я могу обновить мои данные, если нажать нажмите на кнопку отправить в 2 раза, но когда я подать только 1 раз, он не может обновить.

Что случилось?

+0

проверить, что происходит в консоли при первом нажатии кнопки – shafiq

ответ

1

Вы не можете обновить форму. Используйте этот

<form action="" method="" role="form"> 

    <textarea cols="80" id="editor1" name="isi" rows="10" class="form-control" ></textarea> 

    <input type="submit" value="Simpan" class="btn btn-sm btn-primary" name="update_info_pemesanan" id="form_update"> 
</form> 

в AJAX

<script type="text/javascript"> 
    $(function(){ 
     $("#form_update").click(function(event){ 
      event.preventDefault(); 
      $("#loader").show(); 
      var editor1= $("#editor1").val(); 

      $.ajax(
       { 
        type:'post', 
        url:"<?php echo base_url() ?>admin/update_derap_info", 
        data:{editor1:editor1}, 
        success:function($data) 
        { 
         $("#response").html(data); 
         $("#loader").hide(); 
         fillgrid(); 
        } 
       }); 
     }); 
    }); 
</script> 

в контроллере

$text_area = $this->input->post('editor1') 

Таким образом, в $text_area Содержать текст, который вы вводите в форму

+0

, как добавить новую форму (например, ). Где этот код я буду помещать в мой аякс? –

+0

Просто замените код –

+0

@FatchulAmin, если ответ будет полезен. Так что его помощь новым пользователям без дубликатов. Спасибо –

0

Вы должны использовать следующий код на вашем контроллер:

$this->info_derap->update($this->input->post('id_info'),$data); 

Кроме того, убедитесь, что в соответствующем представлении указано поле под названием id_info.

+0

Я думаю, что пункт моего дела в AJAX. Да, существует о id_info, но я не писал по моему вопросу –

0

, что сообщение, если вы используете отладки, вы можете проверить запрос ...

вы можете вставить или добавить некоторые функции Javascript «Эспас» свою форму запроса, например

escape($("editor1").val()); 
+0

'escape()' - устаревший API DOM: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects /побег – calvinf

Смежные вопросы