脚本(AJAX或JS)在IE8中无法正常运行

时间:2013-11-10 21:03:49

标签: javascript ajax internet-explorer-8

我在http://worldcitiesdatabase.info/test1/

处有一个js / ajax脚本

我刚刚收到一条投诉,称它在IE8中无法正常运行。

Onchange似乎有效,但接下来的菜单没有填充。

你能帮我解决一下吗?

由于

不确定代码中有问题的部分是什么。这是我的猜测:

if (window.XMLHttpRequest) {//  code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp=new XMLHttpRequest();
            } else {//                      code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            newList="";
            xmlhttp.onreadystatechange=function() {
                if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                    newList = xmlhttp.responseText;
                    m1.innerHTML=newList;
                    m1.disabled=false;
                }
                if (menuname=="showCountry")  {
                    var c1=document.getElementById('showRegion');
                    if (c1.options.length==2) {
                        if (c1.options[0].value=='NONE') {
                            c1.remove(0);
                            c1.value='0';
                            reloadmenu(c1);
                        }
                    }
                }
            }
            xmlhttp.open("GET",newFile+".php?q="+menuvalue,true);
            xmlhttp.send();

1 个答案:

答案 0 :(得分:2)

该行

m1.innerHTML=newList;

是罪魁祸首,因为您使用innerHTML<option>添加到<select>。这是IE8中的已知错误 - http://support.microsoft.com/kb/276228

注意:如果您只是打开开发人员工具并以IE8模式运行,则可以在Internet Explorer中运行测试页(例如参见http://techathlon.com/internet-explorer-10-run-compatibility-mode/