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