Javascript 当我将表单发布到数据库中时,传递的是ID而不是名称。在前端,一切正常
在这里,我使用Java脚本和Ajax创建了一个动态条件下拉列表 PHP:Add.PHPJavascript 当我将表单发布到数据库中时,传递的是ID而不是名称。在前端,一切正常,javascript,json,ajax,Javascript,Json,Ajax,在这里,我使用Java脚本和Ajax创建了一个动态条件下拉列表 PHP:Add.PHP <html> <head> <title>Add Data</title> </head> <body> <?php //including the database connection file include_once("config.php"); if(isset($_POST['Submit
<html>
<head>
<title>Add Data</title>
</head>
<body>
<?php
//including the database connection file
include_once("config.php");
if(isset($_POST['Submit'])) {
$name = mysqli_real_escape_string($mysqli, $_POST['name']);
$department = mysqli_real_escape_string($mysqli, $_POST['department']);
$type = mysqli_real_escape_string($mysqli, $_POST['type']);
$priority = mysqli_real_escape_string($mysqli, $_POST['priority']);
$totalcredit = mysqli_real_escape_string($mysqli, $_POST['totalcredit']);
$reqdate = mysqli_real_escape_string($mysqli, $_POST['reqdate']);
$notes = mysqli_real_escape_string($mysqli, $_POST['notes']);
// checking empty fields
if(empty($name) || empty($department) || empty($type) || empty($priority) || empty($totalcredit) || empty($reqdate) || empty($notes)){
if(empty($name)) {
echo "<font color='red'>Name of Request field is empty.</font><br/>";
}
if(empty($department)) {
echo "<font color='red'>Requested department is empty.</font><br/>";
}
if(empty($type)) {
echo "<font color='red'>Type of request field is empty.</font><br/>";
}
if(empty($priority)) {
echo "<font color='red'>Precedence field is empty.</font><br/>";
}
if(empty($totalcredit)) {
echo "<font color='red'>Total Credit field is empty.</font><br/>";
}
if(empty($reqdate)) {
echo "<font color='red'>Requested Date field is empty.</font><br/>";
}
if(empty($notes)) {
echo "<font color='red'>Notes field is empty.</font><br/>";
}
//link to the previous page
echo "<br/><a href='javascript:self.history.back();'>Go Back</a>";
}
else {
// if all the fields are filled (not empty)
//insert data to database
$result = mysqli_query($mysqli, "INSERT INTO creditDetails(`Name`, `Department`, `Type`, `Priority`, `TotalCredit`, `ReqDate`, `Notes`) VALUES ('$name', '$department', '$type', '$priority', '$totalcredit', '$reqdate', '$notes')");
//display success message
echo "<font color='green'>Data added successfully.";
echo "<br/><a href='index.php'>View Result</a>";
}
}
?>
</body>
</html>
上面的脚本可以工作,但是当通过submit发布表单时,ID“被发布到数据库中,而不是名称”
例如
{
“id”:“10”,
“名称”:“总线存档”,
“父项id”:“2”
}
根据上述json数据,
10将保存到数据库中,而不是总线存档尝试将JS功能更改为:
函数加载\u json\u数据(id,父\u id){
var html_code=“”;
$.getJSON(“options.json”),函数(数据){
html_代码+='选择'+id+'';
$。每个(数据、函数(键、值){
如果(id=“类型”){
如果(value.parent_id==“0”){
html_代码+=
''+value.name+'';
}
}否则{
if(value.parent\u id==parent\u id){
html_代码+=
''+value.name+'';
}
}
});
$(“#”+id).html(html#u代码);
});
}
您显示的是前端代码,它似乎正常工作,而不是问题所在的后端代码请显示后端代码,问题所在resides@domenikk请看下面我的答案
$(document).ready(function(){
load_json_data('type');
function load_json_data(id, parent_id)
{
var html_code = '';
$.getJSON('options.json', function(data){
html_code += '<option value="">Select '+id+'</option>';
$.each(data, function(key, value){
if(id == 'type')
{
if(value.parent_id == '0')
{
html_code += '<option value="'+value.id+'">'+value.name+'</option>';
}
}
else
{
if(value.parent_id == parent_id)
{
html_code += '<option value="'+value.id+'">'+value.name+'</option>';
}
}
});
$('#'+id).html(html_code);
});
}
$(document).on('change', '#type', function(){
var type_id = $(this).val();
if(type_id != '')
{
load_json_data('priority', type_id);
}
else
{
$('#priority').html('<option value="">Degree of Precedence</option>');
$('#totalcredit').html('<option value="">Total Credits used for order</option>');
}
});
$(document).on('change', '#priority', function(){
var priority_id = $(this).val();
if(priority_id != '')
{
load_json_data('totalcredits', priority_id);
}
else
{
$('#totalcredit').html('<option value="">Total Credits used for order</option>');
}
});
});