Javascript Internet Explorer中的Ajax可靠下拉列表问题

Javascript Internet Explorer中的Ajax可靠下拉列表问题,javascript,ajax,internet-explorer,drop-down-menu,Javascript,Ajax,Internet Explorer,Drop Down Menu,我的网页中有两个下拉列表,一个依赖于另一个。我使用的Ajax代码在Chrome、Mozilla中运行良好,但在IE中运行不好,我使用的是IE9。有人能帮我纠正一下吗 这是Ajax代码- <script language="javascript" type="text/javascript"> var xmlHttp var xmlHttp function showSubCategory(str){ if (typeof XMLHttpReques

我的网页中有两个下拉列表,一个依赖于另一个。我使用的Ajax代码在Chrome、Mozilla中运行良好,但在IE中运行不好,我使用的是IE9。有人能帮我纠正一下吗

这是Ajax代码-

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

  function showSubCategory(str){
      if (typeof XMLHttpRequest != "undefined"){
      xmlHttp= new XMLHttpRequest();
      }
      else if (window.ActiveXObject){
      xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
      }
      if (xmlHttp==null){
      alert("Browser does not support XMLHTTP Request")
      return;
      } 
      var url="jsp/subcategory.jsp";
      url +="?count=" +str;
      xmlHttp.onreadystatechange = stateChange1;
      xmlHttp.open("GET", url, true);
      xmlHttp.send(null);
      }

      function stateChange1(){   
      if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){   
      document.getElementById("subcat").innerHTML=xmlHttp.responseText   
      }   
      } 
如果我遵循上述方法,我将无法使用以下JS代码对该子类别选择框执行任何javascript表单验证

 function madeSelectionCity(){
  var subcat = document.getElementById('subcat');
if(subcat.value == "Select the City name"){
    alert("Please select a subcategory first");
    subcat.focus();
    return false;
}else{
    return true;
}
 }

希望我的问题清楚。如果需要更多解释,请告诉我。谢谢

更改ajax代码调用的subcategory.jsp中下面的代码行

在webpagemain页面上,html应该是

 <div id='subcategory'>
 </div>
function stateChange1(){   
      if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){   
      document.getElementById("subcategory").innerHTML=xmlHttp.responseText   
      } 

你能发布XMLHttpRequest对象的responseText吗?请让我知道我的答案是否有效。我已经编辑了我的答案。请看一下。对您的第一条评论的回答是肯定的,更改html代码,它应该可以工作。'buffer=buffer+;response.setContentTypetext/html;response.getWriter.printlnbuffer;'单击“右”按钮,当单击我答案左侧的标记时,该按钮变为绿色,您已接受我的答案并将其标记为已解决。除此之外,您还可以通过单击我答案左侧0上方的向上箭头来投票支持我的答案。您的意思是,我应该在主jsp上更改此代码-将子类别选择为just-然后选择列表会发生什么情况?它在页面中的显示程度如何?您能告诉我应该在哪里添加这一行吗?response.setContentTypetext/html;谢谢拉维的快速回复。但我现在在我的工作场所,没有机会接触我的项目。我会落实你的答案,一定会让你知道的。谢谢,你好,拉维。。。成功了。非常感谢你的帮助。当我刚开始时,第二个选择框不会出现。仅当在第一个下拉列表中选择了某个选项时,该选项才会显示。所以我把它改为--选择子类别。。它现在工作得很好。你能解释一下这里的问题吗?我接受你的答案。如何接受这个答案并将这个问题标记为已解决?我是新来的。。。
 function madeSelectionCity(){
  var subcat = document.getElementById('subcat');
if(subcat.value == "Select the City name"){
    alert("Please select a subcategory first");
    subcat.focus();
    return false;
}else{
    return true;
}
 }
 String buffer="<select name='adv.subCategoryNo'><option >Select the Subcategory</option>";  
 String buffer="<select id='subcat' name='adv.subCategoryNo'><option >Select the Subcategory</option>";  
response.setContentType("text/html");
 <div id='subcategory'>
 </div>
function stateChange1(){   
      if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){   
      document.getElementById("subcategory").innerHTML=xmlHttp.responseText   
      }