Yea, I am always writing to row 0. However, when a new row 0 is inserted into a table, the rest of the rows (and data in those rows) are pushed down the table (i.e. all the data is still present and nothing should have been overwritten).I got the idea above from an example in the HTML DOM tutorial:http://www.w3schools.com/js/tryit.asp?file...table_insertrowI also tried your suggestion, but I got a similar result: only the contents of the last file shows up in the table.Attached below is some executable code (4 files: 0_archive.js, 1_archive.js, test.html, test.js). Hopefully it will help!JC0_archive.js
abc
1_archive.js
def
test.html
<html><head><script src="test.js"></script></head><body><table><tr> <td> <input type="radio" name="year" value="2006" onClick="getBlog()"> Click Me </td></tr></table><table id="table" border="1"></table></body></html>
test.js
var xmlHttpfunction getBlog(){var ifor (i=0;i<2;i++){ var tableRow=document.getElementById("table").insertRow(0) var tableCell=tableRow.insertCell(0) var url=i + "_archive.js" xmlHttp=GetXmlHttpObject(stateChanged) xmlHttp.open("GET", url , true) xmlHttp.send(null)}}function stateChanged() {if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ var tableCell=document.getElementById("table").rows[0].cellstableCell[0].innerHTML=xmlHttp.responseText} }function GetXmlHttpObject(handler){ var objXmlHttp=nullif (navigator.userAgent.indexOf("Opera")>=0){alert("This example doesn't work in Opera") return }if (navigator.userAgent.indexOf("MSIE")>=0){ var strName="Msxml2.XMLHTTP"if (navigator.appVersion.indexOf("MSIE 5.5")>=0){strName="Microsoft.XMLHTTP"} try{ objXmlHttp=new ActiveXObject(strName)objXmlHttp.onreadystatechange=handler return objXmlHttp} catch(e){ alert("Error. Scripting for ActiveX might be disabled") return } } if (navigator.userAgent.indexOf("Mozilla")>=0){objXmlHttp=new XMLHttpRequest()objXmlHttp.onload=handlerobjXmlHttp.onerror=handler return objXmlHttp}}