建议你用FireFox调试一下,要安装FireDebug

解决方案 »

  1.   

    我这个只是为IE写的,没有考虑FIREFOX
      

  2.   


    xml装载是要时间的,如果xml还没装载好就执行操作语句就出问题了。加一个装载完成后执行的操作就行了<script> 
    var sflag; 
    function showsx(id) 

            var tmpvalue; 
            url ="inc/getarealist.asp?cid="+id; 
            var xmlDoc=new ActiveXObject("Microsoft.XMLDOM") 
            xmlDoc.async=false;
    xmlDoc.onreadystatechange = function()
    {
    if (xmlDocreadyState == 4)
    {
    tmpvalue=xmlDoc.childNodes(1).childNodes(0).childNodes(0).text; 
            $("getcitylist").innerHTML=xmlDoc.childNodes(1).childNodes(0).childNodes(0).text;
    }
    }
            xmlDoc.load(url); 
             

    </script> 
      

  3.   

    这位大牛,你的代码是不是应该这样的:
    <script> 
    var sflag; 
    function showsx(id) 

            var tmpvalue; 
            url ="inc/getarealist.asp?cid="+id; 
            var xmlDoc=new ActiveXObject("Microsoft.XMLDOM") 
            xmlDoc.async=false; 
    xmlDoc.onreadystatechange = function() 

    if (xmlDoc.readyState == 4) 

    tmpvalue=xmlDoc.childNodes(1).childNodes(0).childNodes(0).text; 
            $("getcitylist").innerHTML=xmlDoc.childNodes(1).childNodes(0).childNodes(0).text; 
    }
    else

            xmlDoc.load(url); 
            

    </script> 少了ELSE,但我这样弄了,IE7下没有问题,IE6下问题依然
      

  4.   

    你搞错了,就按我写的没错吧。不管ie6还是ie7,js里不写else都不会报错的
      

  5.   

    那你看:http://www.sjz1983.com/register.asp 现在IE7下也不显示地区选择的下拉框了,加上ELSEIE7下是可以显示的,但IE6问题依然如故,
      

  6.   

    021:
    <script>
    var sflag;
    function showsx(id)
    {
    var tmpvalue;
    url ="inc/getarealist.asp?cid="+id;
    var xmlDoc=new ActiveXObject("Microsoft.XMLDOM") 
    xmlDoc.async=false;
    xmlDoc.load(url);
    tmpvalue=xmlDoc.childNodes(1).childNodes(0).childNodes(0).text;
    $("getcitylist").innerHTML=xmlDoc.childNodes(1).childNodes(0).childNodes(0).text;
    }
    </script>
    sjz的:<script> var sflag; function showsx(id) {         var tmpvalue;         url ="inc/getarealist.asp?cid="+id;         var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")         xmlDoc.async=false; xmlDoc.onreadystatechange = function() { if (xmlDocreadyState == 4) { tmpvalue=xmlDoc.childNodes(1).childNodes(0).childNodes(0).text;         $("getcitylist").innerHTML=xmlDoc.childNodes(1).childNodes(0).childNodes(0).text; } }         xmlDoc.load(url);         } </script>
    我看到的是31行未定义:
    xmlDocreadyState
      

  7.   

    噢不是ELSE的问题是你的if (xmlDocreadyState == 4) 少了个点,IE6下不行怎么办,我的XML文档是这样的:
      <?xml version="1.0" encoding="utf-8" ?> 
    - <SelectBase>
    - <SelectInfo>
    - <Para1>
    - <![CDATA[ 
        <select name='fid' style='WIDTH: 250px;' onChange='showsx(this.options[this.selectedIndex].value)' >
      <option value="" selected>--请选择地区--</option>

    <option value="402">天津</option>

    <option value="403">河北</option>

    <option value="411">郑州</option>

    <option value="416">美国</option>

    <option value="418">英国</option>

    <option value="419">朝阳</option>

    <option value="420">广东省</option>

    <option value="425">广西</option>

    <option value="426">重庆</option>

     </select>

       ]]> 
      </Para1>
      </SelectInfo>
      </SelectBase>能否用别的方式来访问- <Para1>节点的值?
      

  8.   

    HOHO,不好意思! 我粗心了