2014-10-14 4 views
0

У меня есть поле выбора с кнопкой добавления рядом с ним внутри формы. Пользователь нажмет кнопку «Добавить» и создаст столько дополнительных полей выбора, сколько захочет, а затем выберите элемент из каждого поля выбора. Когда он отправляет форму, мне нужны значения всех выбранных элементов в массиве.Получить значения всех выбранных элементов из пользовательских полей выбора

Может ли кто-нибудь помочь? Благодарю.

<?php 
session_start(); 
include ('../conn.inc.php'); 
?> 
<!DOCTYPE> 
<html> 
<head> 
<script> 
function addRow(r){ 
     var root = r.parentNode; 
     var allRows = root.getElementsByTagName('tr'); 
     var cRow = allRows[0].cloneNode(true) 
     var cInp = cRow.getElementsByTagName('input'); 
     for(var i=0;i<cInp.length;i++){ 
      cInp[i].setAttribute('name',cInp[0].getAttribute('name')+'_'+(allRows.length+1)) 
     } 
     var cSel = cRow.getElementsByTagName('select')[0]; 
     cSel.setAttribute('name',cSel.getAttribute('name')+'_'+(allRows.length+1)); 
     root.appendChild(cRow); 
} 
</script> 
</head> 
<body> 
    <form method="get" action="abc()"> 
     <table> 
     <tr> 
      <td> 
      <select name="product_code" id="product_code">  
      <?php 
      $sql= mysql_query("select * from product_table where id > 0 order by product_code"); 
      while($row = mysql_fetch_array($sql)) 
      { 
       $pcode = $row['product_code']; 
       echo "<option value=\"$row[id]\">".$pcode."</option>"; 
      } 
      ?>  
      </select> 
      </td> 
      <td> 
      <input name="button" type="button" value="+" onick="addRow(this.parentNode.parentNode)"> 
      </td> 
     </tr> 
     </table> 
     <input type="submit" value="Submit" /> 
    </form> 
</body> 
</html> 

ответ

0

Это более просто, чем то, что вы сделали.

Вы должны установить атрибут name из всех ваших выбирает что-то вроде productCode[] (со скобками).

PHP автоматически создаст вам переменную $_POST['productCode'], содержащую все значения в массиве.

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