javascript — CodeIgniter обрабатывает много полей ввода, добавленных с помощью Jquery

Хорошо, у меня есть форма добавления данных в БД. У меня есть одно поле ввода и кнопка, которая добавляет больше полей ввода при нажатии. Мой вопрос заключается в том, как захватить в контроллере все входы и отправить его в модель. Мой код до сих пор:
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);

0

Решение

Имя первого поля ввода — «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’);

// $ all_input_data — это массив, содержащий все ваши входные значения.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]