从用户创建的选择字段中获取所有选定项的值

时间:2014-10-14 09:21:57

标签: javascript php

我有一个选择字段,在表单中旁边有一个添加按钮。用户将单击添加按钮并根据需要创建任意数量的额外选择字段,然后从每个选择字段中选择一个项目。当他提交表单时,我想要一个数组中所有选定项的值。

任何人都可以帮忙吗?感谢。

<?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> 

1 个答案:

答案 0 :(得分:0)

这比你做的更简单。

您应该设置所有选择name属性,例如productCode[](带括号)。

PHP将自动创建一个包含数组中所有值的$_POST['productCode']变量。