document.getElementById ("id"). innerHTML ошибка времени выполнения в Internet Explorer - PullRequest
1 голос
/ 22 февраля 2012

Я написал функцию AJAX, и с этой функцией я заполняю тег <option> определенного тега <select>. Эта функция прекрасно работает во всех ведущих веб-браузерах, но когда я пытаюсь запустить ее в 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;           

       }

Когда я отлаживал его, я обнаружил, что получил HTML в req.responseText что here

Так может кто-нибудь сказать мне, что я должен сделать, чтобы он работал с IE7.

...