Javascript 动态添加的字段值未在php中过帐

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

我有一个动态表单,我想将数据插入mysql,但是新添加的字段值在php中没有定义,它只发布已经在html中的字段值。 在我点击PlaceOrder in alert后,它将只显示第一个输入值,它已经是html格式的了

在控制台中,它没有任何错误,每一行都有自己的名称和id 这是我的表格:

<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);
}