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 GD32 SPI通信时我从机原样返回收到的数据怎么弄?
  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错
  • ¥20 @microsoft/fetch-event-source 流式响应问题
  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?