通过POST传递相同数据字段的多个值

时间:2014-12-15 10:35:17

标签: php html

我尝试使用POST从表单的相同参数传递多个值,但无法弄清楚如何继续。我已经使用了bootstrap css,这样我就可以添加多个产品。我想通过使用POST方法传递值来处理多个订单的数据。 点击'添加其他'链接,出现附加的数据字段集,其允许记录同一用户的多个事务。 代码如下:

<div class="col-xs-5 col-lg-offset-3">



<form action="billingProceed.php" method="post" role="form">
<table id="itemElement">  
 <tr>
 <td>
<select class="form-control">

<option class="form-control"> Customer Name</option>
<option class="form-control"> Customer ID</option>
</select>
</td>
<td><input type="text" name="<?php echo $data["name"]; ?>" class="form-control"  /></td>
</tr>

 <tr>
 <td>
<select class="form-control">

<option class="form-control"> Item Name</option>
<option class="form-control"> Item ID</option>
</select>
</td>
<td ><input type="text" name="<?php echo $data["item"]; ?>" class="form-control"  /></td>
</tr>
 <tr>
 <td style="float:right;">Quantity
 </td>
 <td><input type="text" name="<?php echo $data["quantity"]; ?>" class="form-control"  /></td>
 </tr>
 <tr>
 <td style="float:right;">Price
 </td>
 <td><input type="text" name="<?php echo $data["price"]; ?>" class="form-control"  /></td>
 </tr>
 <tr>
 <td style="float:right;">Discount
 </td>
 <td><input type="text" name="<?php echo $data["discount"]; ?>" class="form-control"  /></td>
 </tr>
 </table>
<input type="submit" value="Proceed" class="btn btn-primary" />
<p style="float:right;"><a href="#" onclick="appendText()">Add another</a></p>

2 个答案:

答案 0 :(得分:2)

您可以使用数组名称。

示例:

<input name="data['name'][1]">
<input name="data['name'][2]">

答案 1 :(得分:0)

首先,您应该知道输入名称的名称数组。

HTML示例:

<form>
   <a id="add_another" href="#">Add Another</a>
   <table>
       <tr class="product_item">
           <td>
               <input type="text" name="product[1][name]" value=""/>
           </td>
           <td>
               <input type="text" name="product[1][item]" value=""/>
           </td>
       </tr>
       <tr id="dummy">
          <td>
              <input type="text" name="product[0][name]" value=""/>
          </td>
          <td>
              <input type="text" name="product[0][item]" value=""/>
          </td>
       </tr>
   </table>
</form>

在POST上,在PHP脚本中,您将按如下方式访问它们:

 foreach($_POST['product'] as $product)
 {
      $name = $product['name'];
      $item = $product['item'];
 }

为JS拍摄

//You'll always start with one product row.
var productCount = 1;
$('#add_another').click(function() {
    var dummyproduct = $('#dummy').clone();
    //Increment Product count
    productCount += 1;

    //Rename all inputs
    dummyproduct.find('input[name^="product[0]"]').each(function(){
           $(this).attr('name',$(this).attr('name').replace('product[0]','product['+productCount +']'));
    });

    //Remove Id from cloned dummy
    dummyproduct.removeAttr('id').addClass('product_item');

    //Insert row before Dummy
    dummyproduct.insertBefore('#dummy');
});