onload函数不能与jQuery UI选项卡一起使用

时间:2013-05-21 16:03:40

标签: javascript jquery html jquery-ui onload

我正在使用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;行中收到错误,所以我假设它没有得到正确的表名。

谢谢!

0 个答案:

没有答案