我做一个进销存管理系统的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++){
SetTableCanEdit(arguments[i]);
}
}