Javascript 动态添加的字段值未在php中过帐
我有一个动态表单,我想将数据插入mysql,但是新添加的字段值在php中没有定义,它只发布已经在html中的字段值。 在我点击PlaceOrder in alert后,它将只显示第一个输入值,它已经是html格式的了 在控制台中,它没有任何错误,每一行都有自己的名称和id 这是我的表格:Javascript 动态添加的字段值未在php中过帐,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我有一个动态表单,我想将数据插入mysql,但是新添加的字段值在php中没有定义,它只发布已经在html中的字段值。 在我点击PlaceOrder in alert后,它将只显示第一个输入值,它已经是html格式的了 在控制台中,它没有任何错误,每一行都有自己的名称和id 这是我的表格: <div class="col-lg-12 "> <div class="card"> <div class="card-body float-right "> <fo
<div class="col-lg-12 ">
<div class="card"> <div class="card-body float-right "> <form id="purchase_order_form" name="purchase_order_form"><button type="button" name="po_place_order" id="place_order" class="btn btn-primary">Place Order</button>
</div>
</div>
</div>
<div class="col-lg-12">
<div class="card">
<div class="card-header d-flex align-items-center">
<h4>Purchase Order Details:</h4>
</div>
<div class="card-body text-center align-content-center">
<div class="form-group">
<table id="dynamic_field" class="table table-hover ">
<tr>
<th>Product Name</th> <th>Quantity</th>
<th>Unit Cost ( <?php echo $purchse_order->currency_symbol(); ?> )</th>
<th>Total ( <?php echo $purchse_order->currency_symbol(); ?> )</th>
<th>Add/Del</th>
</tr>
<tr>
<td>
<select class="selector " id="productnames" name="pod_product_name[]">
<option>Choose Products</option>
<?php $purchse_order_func->fetchProducts(); ?>
</select>
</td>
<td>
<input type="number" id='qty' placeholder="Quantity" name="pod_quantity[]"
class="form-control">
</td>
<td>
<input type="number" id="unitPrice"
name="pod_unit_cost[]" class="form-control" placeholder="unit Price">
</td>
<td>
<input type="number" id="total"
placeholder="Total Price <?php echo $purchse_order->currency_symbol(); ?>"
readonly class="form-control total">
</td>;
<td>
<button type="button" id="add" name="add" value="+" class="btn btn-xs btn-info"><i class="fa fa-plus-circle"></i></button>
<button type="button" id="remove" name="remove" value="-" class="btn btn-xs btn-danger btn_remove"><i class="fa fa-minus"></i></button>
</td>
</tr>
</table>
</div>
</form>
</div>
</div>
</div>
我没有收到任何错误,只是动态输入数据没有在数组中发布
真的,我一直在阅读其他所有的帖子,现在我陷入困境已经一周没有希望了!谢谢你的帮助!非常感谢如果您在DOM检查器中检查表单,
中的动态字段是否与问题无关,但是您需要将i
连接到id=“addx”
,就像动态行中的所有其他id一样。@barmar感谢您的回复!一旦元素添加到DOM中,静态元素和动态元素之间就没有区别了。因此,如果它们嵌套正确,serialize()
将包含它们。
<script type="text/javascript">
$(document).ready(function(){
var i=1;
$('#add').click(function (){
i++;
html = "<tr id='row"+i+"'>" +
"<td>" +
"<select class='selector' id='PN"+i+"' name='pod_product_name[]'>" +
"<option>Choose Prods</option>"+
"<?php $purchse_order_func->fetchProducts(); ?>" +
"</select>" +
"</td>" +
"<td>" +
"<input type='number' id='QTY"+i+"' placeholder='Quantity' name='pod_quantity[]'" + "class='form-control quantity '>" +
"</td>" +
"<td>" +
"<input type='number' id='UP"+i+"'" +
"placeholder='Unit Price <?php echo $purchse_order->currency_symbol(); ?>' " +
"name='pod_unit_cost[]' class='form-control unit_price'>" +
"</td>" +
"<td>" +
"<input type='number' id='total"+i+"'" +
"placeholder='Total Price <?php echo $purchse_order->currency_symbol(); ?>' " +
"readonly class='form-control total'>" +
"</td>" +
"<td>" +
"<button type='button' id='addx' name='addx' value='+' class='btn btn-xs btn-info'><i " +
"class='fa fa-plus-circle'></i></button>" +
"<button type='button' id='"+i+"' name='remove' value='-' class='btn btn-xs btn-danger btn_remove'>" +
"<i class='fa fa-minus'></i></button>" +
"</td> " +
"</tr>";
$('#dynamic_field').append(html);
});
$('#place_order').click(function(){
$.ajax({
method:"POST",
url :"includes/Operate.php",
data: $("#purchase_order_form").serialize(),
success: function (data) {
alert(data);
}
})
});
if(isset($_POST['pod_product_name'])){
$ar = $_POST['pod_product_name'];
$ar2 = $_POST['pod_quantity'];
$ar3 = $_POST['pod_unit_cost'];
echo print_r($_POST);
}