doujiang2812 2014-09-24 08:15 采纳率: 0%
浏览 75
已采纳

CodeIgniter处理使用Jquery添加的多输入字段

Ok i have i form adding data into db. I have single input field and button wich add more input fields on click. My question is how to grab in controller all inputs and send it to model. My code so far is: Jquery:

<script>
    $('a').click(function(e){


       $('#inp').append('<div><input class = "new_input" type=text name="name[]"/><a class="remove_field "href="#"> X</a><div><br/>');
       $('.remove_field').click( function(e){
         e.preventDefault();
         $(this).parent('div').remove();
       })
    });
</script>

form:

<?php
// Forma za unos podataka
echo  $this->session->flashdata('item');
echo '<h4>Unesite podatke</h4>';
echo '<div id="warning"></div>';

$att = array('name'=>'form','onsubmit'=>" return validation()");
echo form_open('admin/crud/adding/',$att);

echo form_label('Novi podatak:', 'input_data_info') . br() . br();
$data = array(
              'name'        => 'input_data_info',
              'id'          => 'input_data_info',
              'placeholder'       => 'Unestite podatke',
             );

echo form_input($data) . br() . br();
echo '<div id="inp"></div>';

echo "<a href='#'>".'Novi unos'."</a>" .br() .br();
echo form_submit('save', 'Snimi') . br() . br();
echo form_submit('add', 'Dodaj').br();


echo form_close();

?>

controller:

$input_data_info = (string)$this->input->post('input_data_info', TRUE);
             //model za dodavanje podataka 
            $this->load->model('Data');
            $query = $this->Data->add($input_data_info);  
  • 写回答

1条回答 默认 最新

  • doumao6048 2014-09-24 08:43
    关注

    The first input field name is 'input_data_info' and then JQuery adds input fields with 'name[ ]'

    As you want to pull the data from all the input fields, they , first need to have a common name.

    So, rename the input field that you have created initially in the form to name= 'name[]' that makes your code:

    $data = array(
              'name'        => 'name[]',
              'id'          => 'input_data_info',
              'placeholder'       => 'Unestite podatke',
             );
    

    Then in you controller use something like this:

    $all_input_data = $this->input->post('name');

    //the $all_input_data is an array containing all your input values.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试