+ -
当前位置:首页 → 问答吧 → 二级联动的问题,在Chrome下可用,在IE8下居然用不了

二级联动的问题,在Chrome下可用,在IE8下居然用不了

时间:2011-03-17

来源:互联网

以下这段代码在Chrome 10 中可以使用,但是在IE8下去根本不能实现联动。

请问:是哪里写的不对?该怎么改正呢?谢了先~~~
HTML code
<script>
var http_request=false;
  function send_request(url){//初始化,指定处理函数,发送请求的函数
    http_request=false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest){//Mozilla浏览器
  http_request=new XMLHttpRequest();
  if(http_request.overrideMimeType){//设置MIME类别
    http_request.overrideMimeType("text/xml");
  }
}
else if(window.ActiveXObject){//IE浏览器
  try{
   http_request=new ActiveXObject("Msxml2.XMLHttp");
  }catch(e){
   try{
   http_request=new ActiveXobject("Microsoft.XMLHttp");
   }catch(e){}
  }
    }

if(!http_request){//异常,创建对象实例失败
  window.alert("创建XMLHttp对象失败!");
  return false;
}

http_request.onreadystatechange=processrequest;
//确定发送请求方式,URL,及是否同步执行下段代码
    http_request.open("GET",url,true);
http_request.send(null);
  }

  //处理返回信息的函数
  function processrequest(){
   if(http_request.readyState==4){//判断对象状态
     if(http_request.status==200){//信息已成功返回,开始处理信息
   document.getElementById(reobj).innerHTML=http_request.responseText;
  }
  else{//页面不正常
   alert("您所请求的页面不正常!");
  }
   }
  }

  function getclass(obj){
   var pid=document.form1.select1.value;
   document.getElementById(obj).innerHTML="<option>loading...</option>";
   send_request('d.php?pid='+pid);
   reobj=obj;
  }
</script>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>2级联动菜单</title>
</head>
<body>
<form name="form1">
<select name="select1" id="class1" style="width:100;" onChange="getclass('class2');">
  <option selected="selected"></option>
  <option value="1">大类1</option>
  <option value="2">大类2</option>
</select>

<select name="select2" id="class2" style="width:100;">
</select>
</form>

</body>
</html>

作者: huaiping   发布时间: 2011-03-17

有什么报错?

作者: lfkcn   发布时间: 2011-03-18

没有错误信息,只是点了第一级下拉选项框之后,第二级没有任何反应,取不出值。

作者: huaiping   发布时间: 2011-03-18