我正在使用jQuery UI标签,并且在其中一个标签中我正在调用html文件
<li><a href="evol.html">Evol</a></li>
这个html文件有一个onload函数可以转到数据库并填写表格:
<body onload="evol()">
当我单击选项卡'Evol'时,它会加载HTML文件的其余部分,但只显示表格的标题,并且它不会运行evol()函数。
我尝试将相同的onload函数添加到main.html页面,但是它给出了一个错误'Object required',它在那里得到了DB记录集中的行数。
任何想法如何解决这个问题?
修改
以下是evol()的作用:
function evol()
{
var connection = new ActiveXObject("ADODB.Connection") ;
var connectionstring = "DSN=adsn;UID=root;PWD=1234";
connection.Open(connectionstring);
var rs = new ActiveXObject("ADODB.Recordset");
rs.Open("SELECT COUNT(*) FROM p.Evol;",connection);
rs.MoveFirst();
perCounts = rs.Fields(0).Value;
if(perCounts ==0){
alert("EMPTY");
rs.close;
}
else{
rs.close;
rs.Open("SELECT * FROM p.Evol;",connection);
rs.MoveFirst();
m=n;
for(j=0;j<perCounts;j++)
{
addRowEvol('dataTableEvol',17);
var col = 0;
while(col != 17){
var id = m+"0"+col;
if(rs.Fields(col).value == null){
document.getElementById(id).value = ""
}
else
document.getElementById(id).value = rs.Fields(col).Value;
col++;
}
rs.MoveNext();
m++;
}
}
connection.close;
}
这是添加行功能
var n = 1;
function addRowEvol(tableID,nroColumna) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
for(i=0;i<nroColumna;i++){
var cell = row.insertCell(i);
var element = document.createElement("input");
element.type = "text";
element.name = n+"0"+i;
element.size = "12";
element.id = n+"0"+i;
//alert(n+"0"+i);
cell.appendChild(element);
}
n++;
}
我实际上是在var rowCount = table.rows.length;
行中收到错误,所以我假设它没有得到正确的表名。
谢谢!