2011-09-29 9 views
0

처음 ... 지난 3 일 동안이 문제를 직접 풀려고 노력했습니다 ... 비슷한 주제의 게시물을보고 있지만 내게 도움이되는 답을 찾지 못했습니다. ... 내가 & JS를 AJAX에 작은 새 합니다만 AJAX 스크립트에서 잡히지 않은 ReferenceError

내가 표준 자동차 선택 목록을 가지고 ... 웹 프로그래밍에 새로운 것이 아니다 ... 하나 개의 선택 목록은 다른 ...

선택 년도 피드 모델을 선택하고 선택 목록을 얻으십시오 모델을 선택하십시오 & 트림 스타일의 선택 목록을 얻으십시오 ... 꽤 일반적인 것들은 ...

나는이 모든 일을 (온라인으로 찾았습니다) 그 해를 다룰 수있는 스크립트가 있습니다. & 모델 파트 ... Trim을하기 위해 여분의 비트를 추가해야했습니다 ... Trim 파트 (내 파트 :)를 얻을 때까지 모든 것이 작동합니다.

나는 크롬 오류 콘솔에서 다음과 같은 오류가 (당시 나에게 적절한 트림의 목록을 제공해야하는) 모델을 선택하면 :

"catch되지 않은 ReferenceError가 : 시보레가 정의되어 있지 (익명 함수) onchange를

내 스크립트 (당신이 인식 할 수있다 .... 아니 기능 - 시보레는 "만들기 매개 변수입니다"

내가 읽은 다른 유사한 주제와 비교하여 나에게이 혼란을 어떻게 만들은 것입니다 " 그것 ...) :

<script language="javascript" type="text/javascript"> 

    var xmlhttp=false; 
    try{ 
     xmlhttp=new XMLHttpRequest(); 
    } 
    catch(e) {  
     try{    
      xmlhttp= new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     catch(e){ 
      try{ 
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
      } 
      catch(e1){ 
       xmlhttp=false; 
      } 
     } 
    } 

    return xmlhttp; 
} 

function getMake(yearId) {  

    var strURL="/vehicles/getmake/"+yearId+"/"; 
    var req = getXMLHTTP(); 

    if (req) { 

     req.onreadystatechange = function() { 
      if (req.readyState == 4) { 
       // only if "OK" 
       if (req.status == 200) {       
        document.getElementById('makediv').innerHTML=req.responseText;      
       } else { 
        alert("There was a problem while using XMLHTTP:\n" + req.statusText); 
       } 
      }    
     }   
     req.open("GET", strURL, true); 
     req.send(null); 
    }  
} 
function getModel(yearId,makeId) {  
    var strURL="/vehicles/getmodel/"+yearId+"/"+makeId+"/"; 
    var req = getXMLHTTP(); 

    if (req) { 

     req.onreadystatechange = function() { 
      if (req.readyState == 4) { 
       // only if "OK" 
       if (req.status == 200) {       
        document.getElementById('modeldiv').innerHTML=req.responseText;      
       } else { 
        alert("There was a problem while using XMLHTTP:\n" + req.statusText); 
       } 
      }    
     }   
     req.open("GET", strURL, true); 
     req.send(null); 
    } 

} 
function getSub(yearId,makeId,modelId) {   
    var strURL="/vehicles/gettrim/"+yearId+"/"+makeId+"/"+modelId+"/"; 
    var req = getXMLHTTP(); 

    if (req) { 

     req.onreadystatechange = function() { 
      if (req.readyState == 4) { 
       // only if "OK" 
       if (req.status == 200) {       
        document.getElementById('trimdiv').innerHTML=req.responseText;      
       } else { 
        alert("There was a problem while using XMLHTTP:\n" + req.statusText); 
       } 
      }    
     }   
     req.open("GET", strURL, true); 
     req.send(null); 
    } 

} 

각 기능의 페이지에서 refereneced 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>'; 
} 
?>   

:

<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>'; 
} 
?>   

이 ... 올해는, 메이크업, 모델 부분을 정확하게 모든 작업은 ... 나는 트림 선택 목록이 무엇인지 표시됩니다 것을 확인했다 모든 올바른 매개 변수를 받으면 가정합니다 ...

누락 된 사람이 있습니까? 사전에

감사합니다 .... 러스

당신의 HTML 모델 부분에
+0

안녕하세요 당신이 정답을 얻었다면 정답으로 표시하고 정답으로 표시하십시오. –

답변

0

, 당신은 ''사이의 PHP 태그를 넣어해야합니다. 예 :

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

... 감사합니다! .. 구체적으로, 숫자가 아닌 것은 ... 내가 알고 있어야했던 ... 개념은 PHP에서 동일합니다. – user971053

관련 문제