Hello,

I need your help,

I am attempting to write my table dynamically (for later back-end db use) and I am getting an "object expected" error when I click any of the go to buttons after clicking on the "LOAD" button on my page. Theoretically it should work, as I have written my table to the body of the HTML document. I don't see what I am doing wrong here:

Code:
<!DOCTYPE html>

<html>

<head>

<style type="text/css">
#mstrWrapper {
		position: relative;
		height: 200px;
		width: 800px;
		border: 1px solid #808080;
		
		overflow-y: scroll;
		overflow-x: scroll;
		scrollbar-base-color: #DFDFDF;
		scrollbar-arrow-color: #235A81;

}

#mstrTable {
        width: 800px;
        color: #235A81;
        font-family: Arial;
        font-size: 9pt;
        border: 0px;
}

#mstrTable th, #mstrTable td {
	    border-bottom: 1px solid #808080;
	    border-right: 1px solid #808080;
	    padding: 3px;
}

#mstrTable th {
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#cdcdcd");
        width: 110px;
    	height: 18px;
    	border-bottom: 1px solid #808080;
    	border-top: 0px;
}

#mstrTable thead tr {
		position: absolute;
		top: expression(this.offsetParent.scrollTop);
}
	

#mstrTable tbody tr:first-child td {
		padding: 28px 3px 3px 3px;
}
#mstrTable tr.normal td {
    color: #235A81;
    background-color: white;
}
#mstrTable tr.highlighted td {
    color: #FFFFFF;
    background-color: #235A81;
}

</style>

</head>

<body>
<div id="mstrWrapper"></div>

<script type="text/javascript">

function writeit() {
var strVar=" <table id='mstrTable' cellspacing=\"0\" cellpadding=\"0\">";
strVar += "     <thead>";
strVar += "      <tr> ";
strVar += "        <th>File Number<\/th>";
strVar += "        <th>Date1<\/th>";
strVar += "        <th>Date2<\/th>";
strVar += "        <th>Status<\/th>";
strVar += "        <th>Num.<\/th>";
strVar += "      <\/tr>";
strVar += "    <\/thead>";
strVar += "    <tbody>";
strVar += "      <tr> ";
strVar += "        <td>KABC<\/td>";
strVar += "        <td>09\/12\/2002<\/td>";
strVar += "        <td>09\/12\/2002<\/td>";
strVar += "        <td>Submitted<\/td>";
strVar += "        <td>0<\/td>";
strVar += "";
strVar += "      <\/tr>";
strVar += "      <tr> ";
strVar += "        <td>KCBS<\/td>";
strVar += "        <td>09\/11\/2002<\/td>";
strVar += "        <td>09\/11\/2002<\/td>";
strVar += "        <td>Lockdown<\/td>";
strVar += "        <td>2<\/td>";
strVar += "      <\/tr>";
strVar += "";
strVar += "      <tr> ";
strVar += "        <td>WFLA<\/td>";
strVar += "        <td>09\/11\/2002<\/td>";
strVar += "        <td>09\/11\/2002<\/td>";
strVar += "        <td>Submitted<\/td>";
strVar += "        <td>1<\/td>";
strVar += "      <\/tr>";
strVar += "      <tr> ";
strVar += "        <td>WPPP<\/td>";
strVar += "        <td>03\/19\/2003<\/td>";
strVar += "        <td>03\/19\/2003<\/td>";
strVar += "        <td>In-Progress<\/td>";
strVar += "";
strVar += "        <td>0<\/td>";
strVar += "      <\/tr>";
strVar += "      <tr> ";
strVar += "        <td>WRRR<\/td>";
strVar += "        <td>02\/19\/2002<\/td>";
strVar += "        <td>02\/19\/2002<\/td>";
strVar += "        <td>Submitted<\/td>";
strVar += "        <td>5<\/td>";
strVar += "";
strVar += "      <\/tr>";
strVar += "      <tr> ";
strVar += "        <td>WTTT<\/td>";
strVar += "        <td>02\/19\/2002<\/td>";
strVar += "        <td>02\/19\/2002<\/td>";
strVar += "        <td>In-Progress<\/td>";
strVar += "        <td>0<\/td>";
strVar += "      <\/tr>";
strVar += "";
strVar += "      <tr> ";
strVar += "        <td>WYYD<\/td>";
strVar += "        <td>02\/11\/2002<\/td>";
strVar += "        <td>02\/11\/2002<\/td>";
strVar += "        <td>Submitted<\/td>";
strVar += "        <td>7<\/td>";
strVar += "      <\/tr>";
strVar += "      <tr> ";
strVar += "        <td>WRRR<\/td>";
strVar += "";
strVar += "        <td>02\/19\/2002<\/td>";
strVar += "";
strVar += "        <td>02\/19\/2002<\/td>";
strVar += "        <td>Submitted<\/td>";
strVar += "        <td>5<\/td>";
strVar += "      <\/tr>";
strVar += "    <\/tbody>";
strVar += "";
strVar += "    <\/table>";

document.getElementById('mstrWrapper').innerHTML = strVar

var table = document.getElementById("mstrTable");
var thead = table.getElementsByTagName("thead")[0];
var tbody = table.getElementsByTagName("tbody")[0];
var ishigh;

tbody.onclick = function (e) {
  e = e || window.event;
  var td = e.target || e.srcElement; //assumes there are no other elements inside the td
  var row = td.parentNode;
  if (ishigh&&ishigh!=row){
    ishigh.className='';
  }
  row.className = row.className==="highlighted" ? "" : "highlighted";
  ishigh=row;
}

thead.onclick = function (e) {
  e = e || window.event;
  var th = e.target || e.srcElement;  //assumes there are no other elements in the th
  //alert(th.innerHTML);  ### FOR LATER (DB BACK END USE) ###
}
document.onkeydown = function(e){
	e = e || event;
	var code = e.keyCode, rowslim = table.rows.length - 2, newhigh;
	if(code === 38){ //up arraow
		newhigh = rowindex(ishigh) - 2;
		if(!ishigh || newhigh < 0){return GoTo('mstrTable', rowslim);}
		return GoTo('mstrTable', newhigh);
	} else if (code === 40){ //down arrow
		newhigh = rowindex(ishigh);
		if(!ishigh || newhigh > rowslim){return GoTo('mstrTable', 0);}
		return GoTo('mstrTable', newhigh);
	}
}

function GoTo(id,nu){
  var obj=document.getElementById(id),
      trs=obj.getElementsByTagName('TR');
  nu = nu + 1;
  if (trs[nu]){
    if (ishigh&&ishigh!=trs[nu]){
      ishigh.className='';
    }
    trs[nu].className = trs[nu].className=="highlighted" ? "" : "highlighted";
    ishigh=trs[nu];
   }
}

function rowindex(row){
	var rows = table.rows, i = rows.length;
	while(--i > -1){
		if(rows[i] === row){return i;}
	}
}

}//end of nested function
</script>
<input type="button" name="" value="GoTo 0" onmouseup="GoTo('mstrTable',0);" />
<input type="button" name="" value="GoTo 1" onmouseup="GoTo('mstrTable',1);" />
<input type="button" name="" value="GoTo 2" onmouseup="GoTo('mstrTable',2);" />
<input type="button" name="" value="GoTo 3" onmouseup="GoTo('mstrTable',3);" />
<br>
<input type="button" value="LOAD" onclick="writeit()">

</body>

</html>