CodeIgniter处理添加了jQuery的多输入字段

CodeIgniter process multi input fields added with jQuery

本文关键字:输入 字段 jQuery 处理 添加 CodeIgniter      更新时间:2023-09-26

我有一个向数据库中添加数据的表单。我有一个单一的输入字段和按钮,点击后添加更多的输入字段。我的问题是如何获取控制器中的所有输入并将其发送到模型中。到目前为止,我的代码是: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>

形式:

<?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();
?>

控制器:

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

第一个输入字段名称为"input_data_info",然后JQuery添加带有"name[]"的输入字段

当您想要从所有输入字段中提取数据时,它们首先需要有一个通用名称。

因此,将您最初在表单中创建的输入字段重命名为name="name[]",从而生成代码:

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

然后在你的控制器中使用这样的东西:

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

//$allputdata是一个包含所有输入值的数组。