JavaScript mtree 无法在 Internet Explorer 中工作

发布于 2024-10-07 04:24:33 字数 986 浏览 4 评论 0原文

我的一位客户有一个在组件 Mosets Tree 中开发的表单。在表单中,当您选择主类别时,它会自动显示子类别。现在的问题是;我必须隐藏一些代码才能停止显示一些内容,之后在我们选择主类别后显示子类别的 java 脚本在 IE 中不起作用。

代码:

var xmlhttp;
function stateChanged(){
    if (xmlhttp.readyState==4) {
        document.getElementById("subCatId").innerHTML = xmlhttp.responseText;
    }
}

function fnGetSubCategory() {
    xmlhttp = GetXmlHttpObject();
    var new_cat_id = document.getElementById("new_cat_id").value;
    if (xmlhttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return true;
    }

    var url="ps.php?cat_id="+new_cat_id;
    xmlhttp.onreadystatechange=stateChanged;
    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);

}

function GetXmlHttpObject() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    }
 
    if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    return null;
 
} 
 

它在所有其他浏览器中工作正常。

提前致谢。

One of my client had a form developed in component Mosets Tree. In the form when you select a main category it automatically displays the subcategories. Now the issue is; I had to hide some code to stop displaying a few things, after that the java script which was displaying subcategories after we select the main category is not working in IE.

code:

var xmlhttp;
function stateChanged(){
    if (xmlhttp.readyState==4) {
        document.getElementById("subCatId").innerHTML = xmlhttp.responseText;
    }
}

function fnGetSubCategory() {
    xmlhttp = GetXmlHttpObject();
    var new_cat_id = document.getElementById("new_cat_id").value;
    if (xmlhttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return true;
    }

    var url="ps.php?cat_id="+new_cat_id;
    xmlhttp.onreadystatechange=stateChanged;
    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);

}

function GetXmlHttpObject() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    }
 
    if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    return null;
 
} 
 

It is working fine in all other browsers.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄风 2024-10-14 04:24:33

尝试使用以下代码创建对象 xmlHttp:

function createXmlHttpRequestObject(){
var xmlHttp;
try{
        xmlHttp = new XMLHttpRequest();
}
catch (e) {

    // If its IE 6 or other version before

    var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP');

    // We try all versions

    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++){
        try {

            //Try creating xmlHttp object

            xmlHttp = new ActiveXObject(XmlHttpVersions[i]); 
        }
        catch (e){
            xmlHttp = false;
        }
    }
}

// If object doesn't exist sends error

if (!xmlHttp){
    alert("Error creating XMLHttpRequest object");
}

else{
    return xmlHttp;
}
}

Try creating the object xmlHttp with this code:

function createXmlHttpRequestObject(){
var xmlHttp;
try{
        xmlHttp = new XMLHttpRequest();
}
catch (e) {

    // If its IE 6 or other version before

    var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP');

    // We try all versions

    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++){
        try {

            //Try creating xmlHttp object

            xmlHttp = new ActiveXObject(XmlHttpVersions[i]); 
        }
        catch (e){
            xmlHttp = false;
        }
    }
}

// If object doesn't exist sends error

if (!xmlHttp){
    alert("Error creating XMLHttpRequest object");
}

else{
    return xmlHttp;
}
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文