2017-02-01 4 views
0

У меня есть сценарий в модуле проекта, который позволяет пользователю вводить столько значений, сколько он хочет в форме. Я дал имя массива в поле, но когда я попытаюсь получить эти значения в моем контроллере, он возвращает только первое значение массива. Я использовал java-скрипт для динамического добавления новых полей ввода.Входной сигнал массива Codeigniter не работает

Я не могу понять, какую ошибку я делаю.

Это мой код.

Мой взгляд

<h1> <small>Order Details</small></h1> 
<table class="table " id="dynamic_field"> 
    <tr> 
     <td> 
      <input type="text" name="product_name[]" id="name" class="form-control name_list" placeholder="Product Name"> 
     </td> 
     <td> 
      <button type="button" name="submit" id="add" class="btn btn- success">Add More</button> 
     </td> 
    </tr> 
</table> 

JavaScript код

<script type="text/javascript"> 
var i = 1; 
$('#add').click(function(){ 
    i++; 
    $('#dynamic_field').append('<tr id="row'+i+'"><td><input type="text" name="product_name[]" id="last_class" class="form-control name_list" placeholder="Product Name"></td><td><button type="button" name="remove" class="btn btn-danger btn_remove" name="remove" id="'+i+'"> X</button></td></tr>') 
}); 
$(document).on('click','.btn_remove',function() { 
    var button_id = $(this).attr("id"); 
    $("#row"+button_id+"").remove(); 
}); 
</script> 

При попытке распечатать массив поле ввода с помощью print_r он возвращает только первое значение массива, даже если мы возможно, добавили более 1 поля ввода.

+0

добавить также код контроллера –

ответ

0

Изменить сценарий и проверьте

<script type="text/javascript"> 
var j = 1; 
var i = 1; 

    $('#add').click(function() 
    { 
    i++; 
    $('#dynamic_field').append('<tr id="row'+i+'"><td><input type="text" name="product_name['+ j +']" id="last_class" class="form-control name_list" placeholder="Product Name"></td><td><button type="button" name="remove" class="btn btn-danger btn_remove" name="remove" id="'+i+'"> X</button></td></tr>'); 

j++ ; 
    }); 


    $(document).on('click','.btn_remove',function() 
    { 
     var button_id = $(this).attr("id"); 
     $("#row"+button_id+"").remove(); 

    }); 



</script> 
+0

В контроллере: - $ this-> вход-> пост ('product_name «); –

0

Попробуйте это в вашем контроллере

$names=$this->input->post('product_name') ; 
foreach($names as $pname) { 
      echo $pname; 
    } 
Смежные вопросы