Javascript 当我将表单发布到数据库中时,传递的是ID而不是名称。在前端,一切正常

Javascript 当我将表单发布到数据库中时,传递的是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

在这里,我使用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'])) {   
    $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>');
 }
});
});