mtree javascript无法在IE中运行

时间:2010-12-13 07:32:40

标签: javascript joomla joomla-extensions

我的一位客户有一个在组件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(“浏览器不支持HTTP请求”);
返回true;
}  
var url =“ps.php?cat_id =”+ new_cat_id;
xmlhttp.onreadystatechange = stateChanged;
xmlhttp.open( “GET”,网址,真实);
xmlhttp.send(NULL);
 
 
}  


function GetXmlHttpObject(){
if(window.XMLHttpRequest){
返回新的XMLHttpRequest();
}  
if(window.ActiveXObject){
返回新的ActiveXObject(“Microsoft.XMLHTTP”);
} return null;
 
}  
< /脚本>  

它在所有其他浏览器中都运行良好。

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试使用以下代码创建对象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;
}
}