编写了一个支持firefox和ie的javascript+xml进行数据分页的程序

原创 2006年05月24日 10:26:00
注:由于本程序所涉及到的xml文件用于处理大数据量分页测试,文件体积较大,故没有进行上传,望读者谅解
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>浏览器兼容读取xml并进行分页</title>
<link href="css/main.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.STYLE1 {
color: #FFFFFF;
font-weight: bold;
}
-->
</style>
</head>
<body>
<script language="javascript">
var xmlFile="test.xml";//定义xml源文件
//--------------------------建立XMLDOM对象-------------------------------//
var xmldom;
if (window.ActiveXObject){
var xmldom = new ActiveXObject("Microsoft.XMLDOM");
}
else{
if (document.implementation && document.implementation.createDocument){
var xmldom = document.implementation.createDocument("","",null);
}
}
xmldom.async = false;
xmldom.resolveExternals = false;
xmldom.validateOnParse = false;
xmldom.preserveWhiteSpace = true;
//选择合适的xmlhttprequest控件
//--------------------------建立XMLDOM对象-------------------------------//
xmldom.load(xmlFile);//加载xml文件
var mode="users";//定义xml文件中的根节点
var maxNum=0;//定义xml文件中的记录总数
maxNum=xmldom.getElementsByTagName(mode).length;//定义xml文件中的记录总数
var column;//定义xml文件中的列
column=xmldom.getElementsByTagName(mode)[0].childNodes;//获取xml文件中的列
var columnNum=0;
columnNum=column.length;//获取xml文件中的烈数
var pageNum=4;//每页显示记录数
var pagesNumber=0;//计算应分页数
pagesNumber=Math.ceil(maxNum/pageNum)-1;
var page=0 ;
var contpage;
var BodyText="";
//--------------------------定义页面显示表头-------------------------------//
var header="";
header="<table width=/"90%/" border=/"0/" align=/"center/" cellpadding=/"0/" cellspacing=/"1/" bgcolor=/"#C0C0C0/">";
header=header+"<tr><td colspan=/"5/" bgcolor=/"#80B5D7/" height=/"4/"></td></tr>";
header=header+"<tr>";
header=header+"<td width=/"20%/" height=/"30/" align=/"center/" bgcolor=/"#30559C/"><span class=/"STYLE1/">ID</span></td>";
header=header+"<td width=/"20%/" height=/"30/" align=/"center/" bgcolor=/"#30559C/"><span class=/"STYLE1/">Username</span></td>";
header=header+"<td width=/"20%/" height=/"30/" align=/"center/" bgcolor=/"#30559C/"><span class=/"STYLE1/">Password</span></td>";
header=header+"<td width=/"20%/" height=/"30/" align=/"center/" bgcolor=/"#30559C/"><span class=/"STYLE1/">Logindegree</span></td>";
header=header+"<td width=/"20%/" height=/"30/" align=/"center/" bgcolor=/"#30559C/"><span class=/"STYLE1/">State</span></td>";
header=header+"</tr>";
//--------------------------定义页面显示表头-------------------------------//
//--------------------------分页操作方法-------------------------------//
function startPage(page){
thePage="首页";
if(page>0){
thePage="<A HREF='#' onclick='Javascript:return startPageGo()'>首页</A>";
}
return thePage;
}
function prePage(page){
thePage="上一页";
if(page+1>1){
thePage="<A HREF='#' onclick='Javascript:return prePageGo()'>上一页</A>";
}
return thePage;
}
function nextPage(page){
thePage="下一页";
if(page<pagesNumber){
thePage="<A HREF='#' onclick='Javascript:return nextPageGo()'>下一页</A>";
}
return thePage;
}
function endPage(page){
thePage="末页";
if(page<pagesNumber){
thePage="<A HREF='#' onclick='Javascript:return endPageGo()'>末页</A>";
}
return thePage;
}
function startPageGo(){
page=0;
getContent();
BodyText="";
}
function prePageGo(){
if(page>0){
page--;
}
getContent();
BodyText="";
}
function nextPageGo(){
if (page<pagesNumber){
page++;
}
getContent();
BodyText="";
}
function endPageGo(){
page=pagesNumber;
getContent();
BodyText="";
}
function currentPage(){//当前的页数
var cPage;
cPage="当前是第"+(page+1)+"页";
return cPage;;
}
function allPage(){//总页数
var aPage;
aPage="总共"+(pagesNumber+1)+"页";
return aPage;
}
//--------------------------分页操作方法-------------------------------//
//--------------------------分页状态栏-------------------------------//
function pageBar(page){
var pb="";
pb=pb+"<table width=/"90%/" height=/"30/" border=/"0/" align=/"center/" cellpadding=/"0/" cellspacing=/"1/" bgcolor=/"#C0C0C0/">";
pb=pb+"<tr><td width=/"100%/" height=/"30/" colspan=/"5/" bgcolor=/"#30559C/" align=/"center/"><span class=/"STYLE1/">"+currentPage()+"&nbsp;&nbsp;&nbsp;&nbsp;"+allPage()+"&nbsp;&nbsp;&nbsp;&nbsp;"+selectPage()+"</span></td></tr>";
pb=pb+"<tr><td height=/"30/" colspan=/"5/" bgcolor=/"#30559C/" align=/"center/"><span class=/"STYLE1/">"+startPage(page)+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+prePage(page)+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+nextPage(page)+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+endPage(page)+"</span></td></tr>";
pb=pb+"</table>";
return pb;
}
function changePage(tpage){
page=tpage;
if(page>=0){
page--;
}
if (page<pagesNumber){
page++;
}
getContent();
BodyText="";
}
function selectPage(){
var sp;
sp="<select name='selectPage' onChange='javascript:changePage(this.options[this.selectedIndex].value)'>";
sp=sp+"<option value=''></option>";
for (t=0;t<=pagesNumber;t++){
sp=sp+"<option value='"+t+"'>"+(t+1)+"</option>";
}
sp=sp+"</select>";
return sp;
}
//--------------------------分页状态栏-------------------------------//
//--------------------------输出内容-------------------------------//
function getContent(){

if (!page) page=0;
endNum=(page+1)*pageNum;
if (endNum>maxNum) endNum=maxNum;
BodyText=header+BodyText;
//alert(xmldom.getElementsByTagName("users")[0].getAttributeNode("username"));
for (n=page*pageNum;n<endNum;n++){

BodyText=BodyText+"<tr>";
for (m=0;m<columnNum-1;m++){
mName=column[m].tagName;
thisValue=xmldom.getElementsByTagName(mName)[n].text?xmldom.getElementsByTagName(mName)[n].text:xmldom.getElementsByTagName(mName)[n].textContent;
thisValueLink=xmldom.getElementsByTagName("link")[n].text?xmldom.getElementsByTagName("link")[n].text:xmldom.getElementsByTagName("link")[n].textContent;
if(mName=="username"){
BodyText=BodyText+("<td width=/"20%/" height=/"30/" align=/"center/" bgcolor=/"#F1F3F5/"><a href=/""+thisValueLink+"&cl=3/" target=/"_blank/">"+thisValue+"</a></td>");
}
else{
BodyText=BodyText+("<td width=/"20%/" height=/"30/" align=/"center/" bgcolor=/"#F1F3F5/">"+thisValue+"</td>");
}
}
BodyText=BodyText+"</tr>"
mm="";
}

document.getElementById("showhtml").innerHTML=BodyText+"</table>";
document.getElementById("showhtml").innerHTML=document.getElementById("showhtml").innerHTML+pageBar(page);

BodyText="";
}
//--------------------------输出内容-------------------------------//
</script>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td id="showhtml">&nbsp;</td>
</tr>
</table>
<script>
if (maxNum==0){
document.write("no data search!")
}
else{
getContent()
}
</script>
</body>
</html>
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

IE和FireFox下,javascript读取,并输出xml文件节点内容

一、IE读取XML var xmlDoc; xmlDoc = new ActiveXObject( "Msxml2.DOMDocument" ); xmlDoc.loadXML(xml); /...

javascript解析XML生成树形结构(兼容Firefox,IE9)

直接将源代码拷贝过来了     无标题页             var xmlStr='c11c2';  ...

IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取

兼容问题1: 页面的分享等插件加载不全,并无法点击。 兼容问题2: IE下页面选择器(#id、.class.etc.)绑定click事件无法访问到,后台springmvc方法,也无法...

史上最精简,最强大的JavaScript遮罩层效果,支持ie firefox jQuery遮罩层

史上最精简,最强大的JS遮罩层效果,支持ie firefox jQuery遮罩层 //显示灰色JS遮罩层 function showBg(ct,content){ var bH...

javascript 右键菜单 支持多级菜单 支持不同节点展示不同菜单 兼容firefox和IE

手头上的项目需要实现javascript右键菜单功能,并支持不同节点显示不同的菜单,后期还要根据权限来控制菜单的显示项,这里先写一下如果实现标题所说的功能: 说明:参考了一些文章,自己再重构优化。 ...

javascript: 加入收藏 设为首页 功能 兼容Firefox和IE

加入收藏: onclick="window.external.addFavorite(document.location.href,document.title)" 设为首页: onclick="tr...

jquery用ajax向ashx传递数据,测试360,FIrefox都支持,唯独IE出现

最近做一个东西,要在aspnet里面的BoxText上加一个中文自动匹配。相关微软或者其他ASPNET提供的插件没用过,因为之前用的是JAVA,jquery用的比较多,于是就选用了jquery中aja...

使用XML进行Ajax分页

  • 2013-01-22 17:02
  • 153KB
  • 下载

一个用javascript编写的表单提交的例子(包括用正则表达式对数据进行验证)

添加用户      function checkMyForm(){  var username=document.getElementById("username");  var xm=...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)