Internet Explorer上的document.getElementById(“id”)。innerHTML运行时错误

时间:2012-02-22 11:35:04

标签: javascript ajax internet-explorer-7 struts

我编写了一个AJAX函数,使用此函数,我填充了特定<option>标记的<select>标记。这个函数在所有领先的Web浏览器上运行良好但是当我尝试在IE7上运行它时,它在浏览器中的下一行给出了运行时错误:

document.getElementById("box2View").innerHTML = req.responseText;

我的代码是

   function retrieveURL(url)
   {
    var newUrl = 'showStates.do?country='+url; 

    req = GetXmlHttpObject();
    req.onreadystatechange = processStateChange;
    try {
         req.open("GET", newUrl, true);
    } catch (e) {
         alert(e);
    }
    req.send();

   }
   function processStateChange() {

        if (req.readyState == 4) { // Complete
            if (req.status == 200) { // OK response
                alert(req.responseText);
                document.getElementById("box2View").innerHTML = req.responseText;

                var x = document.getElementsByName("countryid");

            } else {
             alert("Problem: " + req.statusText);
            }
        }
    }



    function GetXmlHttpObject()
       {
        var xmlHttp=null;
        try
         {
         // Firefox, Opera 8.0+, Safari
         xmlHttp=new XMLHttpRequest();
         }
        catch (e)
         {
           //Internet Explorer
           try
            {
              xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
              xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            }
       return xmlHttp;           

       }

当我调试它时,我发现我从req.responseText获得了一个HTML 这是here

所以任何人都可以告诉我该怎么做才能使它与IE7一起使用。

0 个答案:

没有答案