Fatchul Amin
Fatchul Amin

Reputation: 109

Update data using AJAX and codeigniter failed

I want to update my data using Codeigniter and AJAX for submit response..

This is my View

<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>

My Controller

$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;

My Model

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

And here is my 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>

I can update My data if I press click submit 2 times, but when I submit just 1 time , it cannot update.

What's wrong?

Upvotes: 1

Views: 972

Answers (3)

Yudi Vitrian
Yudi Vitrian

Reputation: 1

what a message if you using debug, you can inspect request...

you can insert or adding some javascript function "espace" your request form for example

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

Upvotes: 0

Ahmad Afandi
Ahmad Afandi

Reputation: 1

You should use the following code on your controller:

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

Also, make sure there's a field called id_info in the corresponding view.

Upvotes: 0

Abdulla Nilam
Abdulla Nilam

Reputation: 38584

You cant update with form. Use this

<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>

in 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>

in Controller

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

So in $text_area Contain text which you input in your form

Upvotes: 1

Related Questions