0

I have a problem to send multiple data to controller.

$target is result from post('warna'). How do I get all data?

<form action="http://localhost/starsc/trueaccon2194/opsional" id="form" method="post" accept-charset="utf-8">
  <div class="row">
    <div class="col-md-12 input group kolom">
      <div id="warna1" style="padding-left:0;padding-right:0;" class="col-md-12 col-sm-12 col-xs-12">
        <input type="text" id="warna1" name="warna[]" class="joss form-control">
        <br>
      </div>
      <div id="warna2" style="padding-left:0;padding-right:0;" class="col-md-12 col-sm-12 col-xs-12">
        <input type="text" id="warna2" name="warna[]" class="joss form-control">
        <br>
      </div>
      <div id="warna3" style="padding-left:0;padding-right:0;" class="col-md-12 col-sm-12 col-xs-12">
        <input type="text" id="warna3" name="warna[]" class="joss form-control">
        <br>
      </div>
      <button type="button" class="simpan_warna btn btn-primary">Simpan</button>
</form>
$('.simpan_warna').click(function() {
  var UrlToPass = $("#form").serialize();
  $.ajax({ // Send the credential values to another checker.php using Ajax in POST menthod
    type: "POST",
    data: UrlToPass,
    url: baseURL + "trueaccon2194/opsional/proses_tambah_opsi_warna",
    beforeSend: function() {
      $('.simpan_warna').prop('disabled', true);
      $('.simpan_warna').html('sedang menyimpan...'); //Loading button text 
    },
    success: function(success) { // Get the result and asign to each cases
      $('.simpan_warna').prop('disabled', false);
      $('.simpan_warna').html('Simpan'); //reset button text to original text
      alert('Data Berhasil disimpan!');
      $('#modal_form').modal('hide');
      location.reload();
    },
    error: function() {
      $('.simpan_warna').prop('disabled', false);
      $('.simpan_warna').html('Simpan'); //reset button text to original text
      alert('Data gagal disimpan!');
    }
  });
  return false;
});

my controller is :

function proses_tambah_opsi_warna(){
    $target = $this->input->post('warna[]');
    if($this->input->post()){
                $data = $this->input->post();
                $data['nama_depan'] = $this->data['nama_depan'];
                $this->opsional_adm->add_warna($data);
                log_helper("warna", "Menambah Warna ".$target."");
            }else{
                log_helper("warna", "Gagal Menambah warna baru");
            }
}
mplungjan
  • 169,008
  • 28
  • 173
  • 236

1 Answers1

1

Try to get the 'warna' post value, not the 'warna[]' :

$target = $this->input->post('warna');

With this, $target will be an array and you'll able to access values with a loop like this :

foreach ($target as $id => $value) {
   echo $value;
}
J.Lgl
  • 93
  • 1
  • 11
  • but, i get result is array. how to change data from array to value1, value2, value3. I want to get results like that – Mochammad Danny setyawan Feb 21 '17 at 08:16
  • I don't understand the result you want. value1 value2 value3 in an array ? in a string ? You can access each values with a $target[0], $target[1] etc... – J.Lgl Feb 21 '17 at 08:21