用javascript来修改、删除数据岛中的XML数据

yegou1111 2009-10-22 07:17:21
html代码:(news.html)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>新闻数据管理</title>
</head>
<body>

<SCRIPT LANGUAGE="JavaScript">
<!--

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.load("news.xml");
//-->
</SCRIPT>

<!-- 新闻数据显示 -->
<xml id="n" src="news.xml">
</xml>
<table DATASRC=#n border="1">
<caption><h2>新闻管理</h2></caption>
<thead> 
<th>新闻ID</th>
<th>标题</th>  
<th>内容</th>  
<th>发布日期</th>
<th><input type="button" value="新增" /></th>
</thead> 
<tr> 
<td><span DATAFLD="id"></span></td>  
<td><span DATAFLD="title"></span></td>  
<td><span DATAFLD="content"></span></td>  
<td><span DATAFLD="pdate"></span></td>
<td>
<input type="button" value="修改" />
<input type="button" value="删除" />
</td>
</tr> 
</table>
</body>
</html>
-------------------------------------------------------
xml文件:(news.xml)
<?xml version="1.0" encoding="gb2312"?>
<root>
<news>
<id>4</id>
<title>新闻4</title>
<content>新闻444444444444444444444</content>
<pdate>2009-9-21</pdate>
</news>
<news>
<id>3</id>
<title>新闻3</title>
<content>新闻333333333333333333333</content>
<pdate>2009-9-21</pdate>
</news>
<news>
<id>2</id>
<title>新闻2</title>
<content>新闻22222222222222222</content>
<pdate>2009-9-21</pdate>
</news>
<news>
<id>1</id>
<title>新闻1</title>
<content>新闻11111111111111111111111111</content>
<pdate>2009-9-21</pdate>
</news>
</root>
--------------------------------------------------
我想用JavaScript操作XML文件来管理新闻数据
用XML数据岛显示出数据后,怎样才能得到每条数据的ID?
也就是点击每条数据后的修改或删除按钮后怎样才能知道我要修改的是哪条数据?

我在id的<span>标签里加了id="newsid",然后用document.getElementById("newsid").innerText;方法来得到id,不过每次就只能拿到最后一条数据的ID。

请高手帮忙看看!谢了!
...全文
180 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yegou1111 2009-10-23
  • 打赏
  • 举报
回复
搞定了,谢谢
MuBeiBei 2009-10-22
  • 打赏
  • 举报
回复
楼主我下的这个是拿到行号~·如果你想拿到ID~·你自己改一下吧`~`
MuBeiBei 2009-10-22
  • 打赏
  • 举报
回复

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>新闻数据管理 </title>
</head>
<body>

<SCRIPT LANGUAGE="JavaScript">
<!--
window.onload = function(){
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.load("news.xml");

var dele = document.getElementsByTagName('input');
for(var i = 0; i < dele.length; i++){(function(i){
if(dele[i].id == 'dele'){
dele[i].onclick = function(e){
e = e || getEvent(e);
var elem = getTarget(e);
e.cancelBubble = true;
var row = elem.parentElement.parentElement;
alert(row.rowIndex);
};
}
})(i)}


var getEvent = function(e){
return e || window.event;
};

var getTarget = function(e){
return e.target || e.srcElement;
};
};
//-->

</SCRIPT>

<!-- 新闻数据显示 -->
<xml id="n" src="news.xml">
</xml>
<table id="myTable" DATASRC="#n" border="1">
<tbody>
<caption> <h2>新闻管理 </h2> </caption>
<thead> 
<th>新闻ID </th>
<th>标题 </th>  
<th>内容 </th>  
<th>发布日期 </th>
<th> <input type="button" value="新增" /> </th>
</thead>
<tr> 
<td> <span DATAFLD="id"> </span> </td>  
<td> <span DATAFLD="title"> </span> </td>  
<td> <span DATAFLD="content"> </span> </td>  
<td> <span DATAFLD="pdate"> </span> </td>
<td>
<input type="button" value="修改" />
<input type="button" id="dele" value="删除" />
</td>
</tr> 
</tbody>
</table>
</body>
</html>
yegou1111 2009-10-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 swandragon 的回复:]
我想知道是怎么显示数据的?
[/Quote]

数据显示是用XML数据岛,在html页面的table的td中用<span DATAFLD="id"> </span>就能显示数据,
id是这样加的<span id="newsid" DATAFLD="id"> </span>,然后用document.getElementById("newsid").innerText;取得table的td中的文本,就得到了id,不过这样只能拿到最后一条数据的id。
swandragon 2009-10-22
  • 打赏
  • 举报
回复
我想知道是怎么显示数据的?
<script>
var i = 0;
document.writer("<span id='newsid'+i></span>");
<script>

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧