Javascript 动态表单将空白值插入数据库

Javascript 动态表单将空白值插入数据库,javascript,html,jquery,dynamicform,Javascript,Html,Jquery,Dynamicform,将表单数据添加到数据库时遇到问题。表单会根据之前选择的值进行动态更改,但在插入数据库期间,这些值为空,但我无法确定哪里出错。它们似乎通过了验证值是否为空的验证检查 任何帮助都将不胜感激 干杯 HTML表单 <form class="form-horizontal" action="php_action/create.php" method="POST" id="createHostForm&q

将表单数据添加到数据库时遇到问题。表单会根据之前选择的值进行动态更改,但在插入数据库期间,这些值为空,但我无法确定哪里出错。它们似乎通过了验证值是否为空的验证检查

任何帮助都将不胜感激

干杯

HTML表单

              <form class="form-horizontal" action="php_action/create.php" method="POST" id="createHostForm">

              <div class="modal-body">
                <div class="messages"></div>

                          <div class="form-group">
                            <label for="crm" class="col-sm-2 control-label">CRM No.</label>
                            <div class="col-sm-10">
                                 <select class="form-control form-control-md" id="crm">
                                    <option selected disabled>Select </option>
                                    <?php foreach($customers as $customer): ?>
                                    <option value="<?php echo $customer['crm']; ?>"><?php echo $customer['crm']; ?></option>
                                    <?php endforeach; ?>
                                </select>
                            </div>
                          </div>
                          <div class="form-group">
                            <label for="package_ref" class="col-sm-2 control-label">Package</label>
                            <div class="col-sm-10">
                                <select class="form-control form-control-md" id="package_ref">
                                    <option>Select </option>
                                </select>
                            </div>
                          </div>
                          <div class="form-group">
                            <label for="hostname" class="col-sm-2 control-label">Hostname</label>
                            <div class="col-sm-10">
                                <select class="form-control form-control-md" id="hostname">
                                    <option>Select </option>
                                </select>
                            </div>
                          </div>
              </div>
              <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <button type="submit" class="btn btn-primary">Save changes</button>
              </div>
              </form>

    <script>
    $(document).ready(function() {

        // ------------------ [ Customer dropdown Change Event ] --------------
        $("#crm").change(function() {
            var customerId = $(this).val();
            $("#package_ref").fadeIn('slow');

            $.ajax({
                url: 'process-controller.php',
                type: 'POST',
                data: {
                    custId: customerId
                },
                dataType: "JSON",

                success: function(result) {
                    var items = "";
                    $("#package_ref").empty();
                    $("#hostname").empty();

                    $("#package_ref").append(
                        "<option selected disabled> Select </option>");
                    $("#hostname").append(
                        "<option selected disabled> Select </option>");

                    $.each(result, function(i, item) {
                        $("#package_ref").append("<option value='" + item
                            .package_ref + "'>" + item.package_ref +
                            "</option>");
                    });
                }
            });
        });


        // ------------- [ Package Dropdown Change ] ---------------

        $("#package_ref").change(function() {
            var packageId = $(this).val();
            $(this).fadeIn();

            $.ajax({
                url: './process-controller.php',
                type: 'POST',
                data: {
                    packId: packageId
                },
                dataType: 'JSON',

                success: function(result) {
                    var item = "";
                    $("#hostname").empty();

                    $.each(result, function(i, item) {
                        $("#hostname").append("<option value='" + item
                        .hostname + "'>" + item.hostname +
                            "</option>");
                    });
                }
            });
        });
    });
    </script>

客户关系管理编号。
挑选
包裹
挑选
主机名
挑选
接近
保存更改
$(文档).ready(函数(){
//----------------[客户下拉列表更改事件]--------------
$(“#crm”).更改(函数(){
var customerId=$(this.val();
$(“#package_ref”).fadeIn('slow');
$.ajax({
url:'processcontroller.php',
键入:“POST”,
数据:{
custId:customerId
},
数据类型:“JSON”,
成功:功能(结果){
var项目=”;
$(“#package_ref”).empty();
$(“#主机名”).empty();
$(“#包参考”)。附加(
“选择”);
$(“#主机名”).append(
“选择”);
$。每个(结果、功能(i、项目){
$(“#package_ref”)。追加(“+item.package_ref”)+
"");
});
}
});
});
//------[程序包下拉列表更改]---------------
$(“#包_ref”).更改(函数(){
var packageId=$(this.val();
$(this.fadeIn();
$.ajax({
url:“./process controller.php”,
键入:“POST”,
数据:{
打包的
},
数据类型:“JSON”,
成功:功能(结果){
var项目=”;
$(“#主机名”).empty();
$。每个(结果、功能(i、项目){
$(“#主机名”).append(“+item.hostname+
"");
});
}
});
});
});
process-controller.php

<?php
    require_once './data-controller.php';

    if(isset($_POST['custId'])) {
        $custId              =           $_POST['custId'];
        $dController         =           new DataController();
        $customers          =           $dController->packageListing($custId);
        echo json_encode($customers);
    }
    elseif(isset($_POST['packId'])) {
        $packId              =           $_POST['packId'];
        $dController         =           new DataController();
        $hostnames             =           $dController->hostnameListing($packId);
        echo json_encode($hostnames);
    }
?>
<?php
    include_once './db-config.php';

    class DataController {
        //  ------------ [ Customer Listing ] ------------------------
            public function getCustomers() {
                $data            =           array();
                $db              =           new DBController();
                $conn            =           $db->connect();
                $sql             =           "SELECT DISTINCT crm FROM assets";
                $result          =           $conn->query($sql);
                if($result->num_rows > 0) {
                    $data        =           mysqli_fetch_all($result, MYSQLI_ASSOC);
                }
               $db->close($conn);
               return $data;
            }

        //  ------------- [ Package Listing ] -----------------------
            public function packageListing($customerId) {
                $data           =            array();
                $db             =            new DBController();
                $conn           =            $db->connect();
                $sql            =            "SELECT DISTINCT package_ref FROM assets WHERE crm = '$customerId'";
                $result         =            $conn->query($sql);
                if($result->num_rows > 0) {
                    $data       =            mysqli_fetch_all($result, MYSQLI_ASSOC);
                }
                $db->close($conn);
                return $data;
            }

        // --------------- [ Hostname Listing ] -------------------------
            public function hostnameListing($packageId) {
                $data           =           array();
                $db             =           new DBController();
                $conn           =           $db->connect();
                $sql            =           "SELECT hostname FROM assets WHERE package_ref = '$packageId'";
                $result         =           $conn->query($sql);
                if($result->num_rows > 0) {
                    $data       =           mysqli_fetch_all($result, MYSQLI_ASSOC);
                }
                $db->close($conn);
                return $data;
            }
    }
?>

data-controller.php

<?php
    require_once './data-controller.php';

    if(isset($_POST['custId'])) {
        $custId              =           $_POST['custId'];
        $dController         =           new DataController();
        $customers          =           $dController->packageListing($custId);
        echo json_encode($customers);
    }
    elseif(isset($_POST['packId'])) {
        $packId              =           $_POST['packId'];
        $dController         =           new DataController();
        $hostnames             =           $dController->hostnameListing($packId);
        echo json_encode($hostnames);
    }
?>
<?php
    include_once './db-config.php';

    class DataController {
        //  ------------ [ Customer Listing ] ------------------------
            public function getCustomers() {
                $data            =           array();
                $db              =           new DBController();
                $conn            =           $db->connect();
                $sql             =           "SELECT DISTINCT crm FROM assets";
                $result          =           $conn->query($sql);
                if($result->num_rows > 0) {
                    $data        =           mysqli_fetch_all($result, MYSQLI_ASSOC);
                }
               $db->close($conn);
               return $data;
            }

        //  ------------- [ Package Listing ] -----------------------
            public function packageListing($customerId) {
                $data           =            array();
                $db             =            new DBController();
                $conn           =            $db->connect();
                $sql            =            "SELECT DISTINCT package_ref FROM assets WHERE crm = '$customerId'";
                $result         =            $conn->query($sql);
                if($result->num_rows > 0) {
                    $data       =            mysqli_fetch_all($result, MYSQLI_ASSOC);
                }
                $db->close($conn);
                return $data;
            }

        // --------------- [ Hostname Listing ] -------------------------
            public function hostnameListing($packageId) {
                $data           =           array();
                $db             =           new DBController();
                $conn           =           $db->connect();
                $sql            =           "SELECT hostname FROM assets WHERE package_ref = '$packageId'";
                $result         =           $conn->query($sql);
                if($result->num_rows > 0) {
                    $data       =           mysqli_fetch_all($result, MYSQLI_ASSOC);
                }
                $db->close($conn);
                return $data;
            }
    }
?>

发现了我的问题。我没有为每项选择指定一个
名称

以前

<select class="form-control form-control-md" id="crm">

之后


<select class="form-control form-control-md" name="crm" id="crm">