Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php AJAX脚本中未捕获的引用错误_Php_Ajax - Fatal编程技术网

Php AJAX脚本中未捕获的引用错误

Php AJAX脚本中未捕获的引用错误,php,ajax,Php,Ajax,首先。。。在过去的三个晚上我一直在努力解决这个问题。。。我看过与我的主题相似的帖子,但没有找到一个能帮助我的答案。。。我对AJAX和JS有点陌生,但对web编程并不陌生 我有一个标准的汽车选择列表。。。一个选择列表提供另一个选择列表 选择年份,它会给出一个品牌选择列表,选择品牌并获得一个型号选择列表选择一个型号并获得一个修剪样式选择列表。。。非常普通的东西真的 我有脚本来做这一切(在网上找到的),它涵盖了这一年。制造和模型零件。。。我不得不添加额外的位来进行修剪。。。在我得到修剪部分(我的部分:

首先。。。在过去的三个晚上我一直在努力解决这个问题。。。我看过与我的主题相似的帖子,但没有找到一个能帮助我的答案。。。我对AJAX和JS有点陌生,但对web编程并不陌生

我有一个标准的汽车选择列表。。。一个选择列表提供另一个选择列表

选择年份,它会给出一个品牌选择列表,选择品牌并获得一个型号选择列表选择一个型号并获得一个修剪样式选择列表。。。非常普通的东西真的

我有脚本来做这一切(在网上找到的),它涵盖了这一年。制造和模型零件。。。我不得不添加额外的位来进行修剪。。。在我得到修剪部分(我的部分:)之前,一切都按预期的方式工作

当我选择该型号时(该型号应提供适当的修剪列表),我在Chrome错误控制台中得到以下错误:

“未捕获引用错误:未定义雪佛兰 (匿名函数) 一旦改变”

与我读过的其他类似主题相比,让我感到困惑的是“雪佛兰”是make参数,而不是函数

我的脚本是(您可能认识它…):


var xmlhttp=false;
试一试{
xmlhttp=新的XMLHttpRequest();
}
第(e)款{
试试{
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
捕获(e){
试一试{
xmlhttp=新的ActiveXObject(“Msxml2.xmlhttp”);
}
渔获物(e1){
xmlhttp=false;
}
}
}
返回xmlhttp;
}
函数getMake(yearId){
var strURL=“/vehicles/getmake/”+yearId+“/”;
var req=getXMLHTTP();
如果(请求){
req.onreadystatechange=函数(){
如果(req.readyState==4){
//只有在“OK”的情况下
如果(请求状态==200){
document.getElementById('makediv').innerHTML=req.responseText;
}否则{
警报(“使用XMLHTTP:\n“+req.statusText时出现问题”);
}
}               
}           
请求打开(“获取”,strURL,true);
请求发送(空);
}       
}
函数getModel(yearId,makeId){
var strURL=“/vehicles/getmodel/”+yearId+“/”+makeId+“/”;
var req=getXMLHTTP();
如果(请求){
req.onreadystatechange=函数(){
如果(req.readyState==4){
//只有在“OK”的情况下
如果(请求状态==200){
document.getElementById('modeldiv')。innerHTML=req.responseText;
}否则{
警报(“使用XMLHTTP:\n“+req.statusText时出现问题”);
}
}               
}           
请求打开(“获取”,strURL,true);
请求发送(空);
}
}
函数getSub(yearId、makeId、modelId){
var strURL=“/vehicles/gettrim/”+yearId+“/”+makeId+“/”+modelId+“/”;
var req=getXMLHTTP();
如果(请求){
req.onreadystatechange=函数(){
如果(req.readyState==4){
//只有在“OK”的情况下
如果(请求状态==200){
document.getElementById('trimdiv').innerHTML=req.responseText;
}否则{
警报(“使用XMLHTTP:\n“+req.statusText时出现问题”);
}
}               
}           
请求打开(“获取”,strURL,true);
请求发送(空);
}
}

每个函数中页面中引用的html分别为: 就品牌而言:

<label for="make" class="select">Make_ch:</label>
<select placeholder="Select a Year First" name="make" id="make" autocapitalize="off" autocorrect="off" autocomplete="off" 
onchange="getModel(<?php echo $year ?>,this.value)"> 
    <?php foreach($vehicle_make->result() as $row)
{
    echo '<option value = "'.$row->model_make_id.'">'.$row->model_make_id.'</option>';
}
?>          
Make\u ch:

在html模型部分中,应该将php标记放在“”之间。例如:

onchange="getSub('<? php echo $year ?>','<?php echo $make ?>',this.value)"> 
onchange=“getSub(“”,,,this.value)”>

完美。。。非常感谢。具体来说,任何不是数字的东西。。。我应该知道。。。这个概念在PHP中是一样的。嗨,如果你得到了一个正确的答案,请投赞成票,并标记为正确答案
<label for="model" class="select">Model_ch:</label>
<select placeholder="Select a Make First" name="model" id="model" autocapitalize="off" autocorrect="off" autocomplete="off" 
onchange="getSub(<?php echo $year ?>,<?php echo $make ?>,this.value)"> 
    <?php foreach($vehicle_model->result() as $row)
{
    echo '<option value = "'.$row->model_name.'">'.$row->model_name.'</option>';
}
?>          
<label for="trim" class="select">Trim_ch:</label>
<select placeholder="Select a Model First" name="trim" id="trim" autocapitalize="off" autocorrect="off" autocomplete="off"> 
    <?php foreach($vehicle_trim->result() as $row)
{
        echo '<option value = "'.$row->model_trim.'">'.$row->model_trim.'</option>';
}
?>          
onchange="getSub('<? php echo $year ?>','<?php echo $make ?>',this.value)">