2015-01-30 1 views
0

в моем представлении codeigniter. У меня есть строка таблицы, которая дублируется при нажатии кнопки с использованием метода клонирования jQuery. Моя задача - получить значения полей внутри дублированной строки при отправке формы.PHP получает значения полей внутри дублированного div, используя метод клонирования jQuery в форме submit

Вот мой код:

<script> 
function duplicate() {  
var original = document.getElementById('service'); 
var rows = original.parentNode.rows; 
var i = rows.length - 1; 
var clone = original.cloneNode(true); // "deep" clone 
clone.id = "duplic" + (i); // there can only be one element with an ID 
clone.name = "duplic" + (i); 
original.parentNode.insertBefore(clone, rows[i]); 
} 
</script> 

    <div class="portlet-body"> 
    <div class="tab-content"> 
<?php 

$attrib = array (
     'class' => 'addcomplaint', 
     'id' => 'addcomplaint', 
     'role' => 'form' 
); 
echo form_open ("vehicle/regcomplaint", $attrib); 
?> 
<!-- COMPLAINT INFO TAB --> 
     <div class="tab-pane active" id="tab_1_1"> 
      <table style="padding: 0px;"> 
       <tr id="service"> 
        <td class="form-group col-md-6" style="padding: 0px;"> 
         <label class="control-label col-md-6" style="padding: 0px;">Complaint Description</label> 
         <select name="complainttype" id="select2_sample4" class="select2 form-control"> 
          <option value="" selected disabled>select complaint type</option> 
          <option value="Complaint Type 1">Complaint Type 1</option> 
          <option value="Complaint Type 2">Complaint Type 2</option> 
          <option value="Complaint Type 3">Complaint Type 3</option> 
          <option value="Complaint Type 4">Complaint Type 4</option> 
          <option value="Complaint Type 5">Complaint Type 5</option> 
         </select> 
        </td> 
        <td class="form-group col-md-6"> 
         <label class="control-label col-md-6" style="padding: 0px;">Work Hours</label> 
         <input type="text" class="form-control col-md-6" name="workhours" id="workhours" style="padding-right: 0px;" /> 
        </td> 
       </tr> 
       <tr> 
        <td></td> 
        <td> 
         <button type="button" id="addmore" class="btn green" style="float: right; margin-right: 15px; margin-top: 20px;" onclick="duplicate()"> 
          Add Complaint <i class="fa fa-plus"></i> 
         </button> 
        </td> 
       </tr> 
      </table> 
      <div class="margiv-top-10"> 
       <input type="submit" class="btn green-haze" value="Submit" name="submit"> <a href="#" class="btn default">Cancel </a> 
      </div> 
     </div> 
     <!-- END COMPLAINT INFO TAB --> 
<?php echo form_close();?> 
</div> 
</div> 

При попытке отправки формы, я получаю только оригинальные поля, не дублированные поля. Может ли кто-нибудь помочь мне получить значения в дублированном поле. Заранее спасибо

+1

ли клонированные поля имеют такое же имя, что и оригиналы? Если это так, вам нужно будет изменить свой код, чтобы создавать уникальные имена для каждого поля, чтобы избежать перезаписи ранних значений с более поздними. –

+0

Нет дублированных полей имеют другое имя – Aishwaryas

ответ

0

В этих случаях его часто проще дать имена полей на основе массива - например:

Это просто означает, что на стороне сервера вы можете сделать что-то вдоль линий:

foreach($_POST['recommended_friend'] as $recommend){ 
    // deal with the input field 
} 

Это будет работать с одним из полей, и сотни из них

+0

Когда я использую имена полей на основе массива и цикла foreach, он дает мне ошибку 'Message: Invalid аргумент, предоставленный foreach()' – Aishwaryas

+0

try '$ recommended_friend = $ _POST ['recommended_friend'] ; foreach ($ Recommended_friend as $ рекомендовать) {' – Djave

Смежные вопросы