Java скрипт не работает в IE - PullRequest
0 голосов
/ 13 декабря 2010

У одного из моих клиентов была форма, разработанная в компоненте Mosets Tree.В форме при выборе главной категории автоматически отображаются подкатегории.Теперь проблема в том,Мне пришлось скрыть некоторый код, чтобы перестать отображать несколько вещей, после этого в IE не работает java-скрипт, который отображал подкатегории после выбора основной категории

код:

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 («Браузер не поддерживает HTTP-запрос»);вернуть истину;}var url = "ps.php? cat_id =" + new_cat_id;xmlHttp.onreadystatechange = StateChanged;xmlhttp.open ( "GET", URL, правда);xmlhttp.send (нуль);}

function GetXmlHttpObject () {if (window.XMLHttpRequest) {вернуть новый XMLHttpRequest ();}if (window.ActiveXObject) {вернуть новый ActiveXObject («Microsoft.XMLHTTP»);}вернуть ноль;}Он отлично работает во всех других браузерах.

Заранее спасибо.

1 Ответ

0 голосов
/ 14 мая 2015

Попробуйте создать объект 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;
}
}
...