日期:2014-05-16  浏览次数:20360 次

'rows' 为空或不是对象
我做一个进销存管理系统的JS脚本,这段脚本的意思是在我获取到明细单表的之后,就在获取的table中进行修改。将table中的一表格转换成了textBox,这一点已经成功,可是当我要修改的时候却始终出现'rows' 为空或不是对象的提示。
可是我明明已经获取到了table啊!
获取table的值用的是这一段脚本:
function init(){
  var tabProduct=document .getElementById ("tabProduct");
  EditTables (tabProduct);
  }
出问题的脚本代码如下:
//提取表格的值,JSON格式
  function GetTableData(table){
  var tableData=new Array();
  alert("行数:"+table.rows.length); //出问题的就在这一行,每当我修改的时候就会出现'rows' 为空或不是对象的问题,然后就阻止我修改

  for(var i=1;i<table.rows.length;i++){
  tableData.push(GetRowData(tabProduct.rows[i]));
  }
  return tableData;
  } 

我将所有的脚本语言贴下:
JScript code
function selectBuyOrder(){ 
      var ual="BuyOrder_Frame.aspx";
      var result=window.showModalDialog(ual,'DialogWidth=590px,DialogHeight=500px');
      if(result!=null){
      var val =result.split(',');
        document .getElementById ("BuyOrderID").value=val[0];
        document .getElementById ("TotalPrice").value=val[1];
      }
//      debugger;
      initload();
      init();
    }
   
    function initload()
      {
        var BuyOrderID="";
        BuyOrderID=document.getElementById("BuyOrderID").value;
        var xmlHttp=createXmlHttp();
        xmlHttp.onreadystatechange=function(){
            if (xmlHttp.readyState==4){
              document.getElementById("initSubmitInfo").innerHTML = xmlHttp.responseText;
            }
        }
//        xmlHttp.open("POST","AjaxBuyReceipt.aspx",true);
//        xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
//        xmlHttp.send("action=loadDetail&BuyOrderID="+BuyOrderID);
          xmlHttp.open("GET","AjaxBuyReceipt.aspx?BuyOrderID="+BuyOrderID,false);
        xmlHttp.send();
      }
     
      function createXmlHttp()
      {
        var xmlHttp=null;
        if(window.xmlHttpRequest){
            xmlHttp = new XMLHttpRequest();           
        }else{
          xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
        }
        return xmlHttp;       
      }
     
      function init(){
        var tabProduct=document .getElementById ("tabProduct");
        EditTables (tabProduct);
      }
     
     
      function EditTables(){
      for(var i=0;i <arguments.length;i++){
          SetTableCanEdi