报错Cannot read property 'length' of null

Firefox 61.0.2 可以执行,IE11, Chrome 68.0.3440.106, Opera 54.0不可以

是判断不到位?

function getHTTPObject(){
    if(typeof XMLHttpRequest=="undefined")
       XMLHttpRequest = function(){
        try{ return new ActiveXObject("Msxml2.XMLHTTP.6.0");}
           catch(e){}
        try{ return new ActiveXObject("Msxml2.XMLHTTP.3.0");}
           catch(e){}
        try{ return new ActiveXObject("Msxml2.XMLHTTP");}
           catch(e){}
        return false;
       }
       return new XMLHttpRequest();
}

function displayAjaxLoading(element){
    while(element.hasChildNodes()){
        element.removeChild(element.lastChild);
    }
    var content=document.createElement("img");
    content.setAttribute("src","images/loading.gif");
    content.setAttribute("alt","Loading...");
    element.appendChild(content);
}

function submitFormWithAjax(whichform,thetarget){
    var request=getHTTPObject();
    if(!request){ return false;}
    displayAjaxLoading(thetarget);
    var dataParts=[];
    var element;
    for(var i=0;i<whichform.elements.length;i++){
        element=whichform.elements[i];
        dataParts[i]=element.name + '=' + encodeURIComponent(element.value);
    }
    var data=dataParts.join('&');
    request.open('POST',whichform.getAttribute("action"),true);
    request.setRequestHeader("content-type","application/x-www-form-
urlencoded");
    request.onreadystatechange=function(){
      if(request.readyState==4){
         if(request.status==200||request.status==0){
        var matches=request.responseText.match(/<article>([\s\S]+)<
\/article>/);
        if(matches.length>0){
           thetarget.innerHTML=matches[1];
        }else{
           thetarget.innerHTML='<p>Oops, there are an error.Sorry.</p>';
        }
         }else{
            thetarget.innerHTML='<p>'+ request.statusText+'</p>';
         }
         }
      };
      request.send(data);
      return true;
};

function prepareForms(){
    for(var i=0;i<document.forms.length;i++){
       var thisform=document.forms[i];
       //resetFields(thisform);
       thisform.onsubmit=function(){
        //if(!validateForm(this)) return false;
        var article=document.getElementsByTagName('article')[0];
        if(submitFormWithAjax(this,article)) return false;
        return true;
        }
    }
}

addLoadEvent(prepareForms);

猜你喜欢

转载自blog.csdn.net/weixin_42607424/article/details/81660212