Javascript通过XML数据岛给TABLE增加数据源的方法

<html><head>
<meta http-equiv=content-type content="text/html; charset=gb2312"><title>Test the xml data land </title>

<XML ID="xmldso"></XML>
</head>
<body>
<input type="button" value="addItem" id=btn οnclick="addItem()">
<div id=RESULTS style= "color:red;font-weight:bold;"></div>
<div id=STATUS style= "color:red;font-weight:bold;"></div>
<TABLE BORDER=1 id=tbl DATASRC="#xmldso">
<THEAD>
<TR><TH>Title</TH>
<TH>ISBN</TH></TR>
</THEAD>
<TBODY>
<TR>
<TD>
<DIV DATAFLD="title"></DIV>
</TD>
<TD>
<DIV DATAFLD="isbn"></DIV>
</TD>
</TR>
</TBODY>
</TABLE>
<div id=tmp></div>

<script language="javascript">
var ti;//global time handle
function addItem() {
btn.disabled = true;
var xmlDsoArray = new Array();
var rootElement = "<booklist>";//such as booklist
var newNode;
xmlDsoArray.push(rootElement);
for(i=0;i<1000;i++) {
//newNode+="<p>test";
//newNode+="<book><title>SushiAnyone</title><isbn>72-80081-082</isbn></book>";
newNode="<book><title>SushiAnyone</title><isbn>" + i + "</isbn></book>";
//newNode="<book><title>SushiAnyone</title><isbn></isbn></book>";
xmlDsoArray.push(newNode);
// t=root.createElement("book");
// title=root.createElement("title");
// isbn=root.createElement("isbn");
// title.text="SushiAnyone"
// isbn.text="72-80081-082"
// t.appendChild(title)
// t.appendChild(isbn)
// node=root.selectSingleNode("/booklist")
// node.appendChild(t)

}
//alert(newNode.length);
//alert(newNode.join(""));
//tmp.innerText = "";
var endRootElement = "</booklist>"
xmlDsoArray.push(endRootElement);
var xmlDsoElements = xmlDsoArray.join("");
/*var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
xmlDoc.async = false;
xmlDoc.loadXML(t)*/

xmldso.async = false;
xmldso.onreadystatechange = CheckState;
xmldso.loadXML(xmlDsoElements);
//alert(xmldso.childNodes.length);

//alert(xmlDoc.loadXML(t));
//alert(t)
//tmp.innerText = t
//tmp.innerHTML = test
//alert(xmlDoc.xml);;
//tbl.dataSrc = xmlDoc;
xmlDsoArray = null;


}

function CheckState()
{
var state = xmldso.readyState;
//RESULTS.innerHTML += "readyState = " + state + "<BR>"
if (state == "interactive")
{
var err = xmldso.parseError;
if (err.errorCode != 0)
RESULTS.innerHTML += err.reason + "<BR>"
else {
//alert(xmldso.childNodes[0].childNodes.length);//get the loaded xml node length
ti = window.setInterval("CompareDSOLen()",10);
//RESULTS.innerHTML +="success" + "<BR>"
}
}
}
function CompareDSOLen() {
if(tbl.rows.length-1 == xmldso.childNodes[0].childNodes.length) {//compare the xml nodes and the dso table length equality the table first length is 2
btn.disabled = false;
clearInterval(ti)
}

}
</script>


</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值