科讯商业版中用到的ajax空间与分页函数


Posted in Javascript onSeptember 02, 2007

科讯sql商业版中用到的ajax空间与分页函数,他们的js代码学习是非常不错的
//ajax 控件
function PageAjax(){
    var xhrObj=null;
    if(window.XMLHttpRequest)
    {
    xhrObj=new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {
    try{
    xhrObj=new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e1)
    {
    try{
    xhrObj=new ActiveXObject("MSXML2.XMLHTTP");
    }
    catch(e2){
    try{
    xhrObj=new ActiveXObject("MSXML3.XMLHTTP");
    }
    catch(e3){
    alert("创建Ajax失败:"+e3)
    }
    }
    }
    }
    else
    {
    alert("未能识别的浏览器");
    }
    return xhrObj;
}

function Page(curPage,labelid,classid,installdir,url,refreshtype,specialid)
   {
   this.labelid=labelid;
   this.classid=classid;
   this.url=url;
   if (labelid.substring(0,5)=="{SQL_")
   {
    var slabelid=labelid.split('(')[0];
    slabelid=slabelid.replace("{","");
    this.c_obj="c_"+slabelid;
    this.p_obj="p_"+slabelid;
   }
   else
   {
   this.c_obj="c_"+labelid;
   this.p_obj="p_"+labelid;
   }
   this.installdir=installdir;
   this.refreshtype=refreshtype;
   this.specialid=specialid;
   this.page=curPage;
   loadData(1);
   }
function loadData(p)
{  this.page=p;
   var xhr=new PageAjax();
   xhr.open("get",installdir+url+"?labelid="+escape(labelid)+"&classid="+classid+"&refreshtype="+refreshtype+"&specialid=" +specialid+"&curpage="+p,true);
   xhr.onreadystatechange=function (){
             if(xhr.readyState==1)
              {
                 if (p==1)
                eval('document.all.'+c_obj).innerHTML="<div align='center'><img src='"+installdir+"images/loading.gif'>正在连接服务器...</div>";
              }
              else if(xhr.readyState==2 || xhr.readyState==3)
              {
                if (p==1)
                eval('document.all.'+c_obj).innerHTML="<div align='center'><img src='"+installdir+"images/loading.gif'>正在读取数据...</div>";
              }
              else if(xhr.readyState==4)
              {
             if (xhr.status==200)
             {
                  var pagearr=xhr.responseText.split("{ks:page}")
                  var pageparamarr=pagearr[1].split("|");
                  count=pageparamarr[0];    
                  perpagenum=pageparamarr[1];
                  pagecount=pageparamarr[2];
                  itemunit=pageparamarr[3];   
                  itemname=pageparamarr[4];
                  pagestyle=pageparamarr[5];
                  getObject(c_obj).innerHTML=pagearr[0];
                  pagelist();
             }
            }
       }
    xhr.send(null); 
}
function getObject(id) 
{
    if(document.getElementById) 
    {
        return document.getElementById(id);
    }
    else if(document.all)
    {
        return document.all[id];
    }
    else if(document.layers)
    {
        return document.layers[id];
    }
}

function pagelist()
{
 var n=1;    
 var statushtml=null;
 switch(parseInt(this.pagestyle))
 {
  case 1:    
     statushtml="共"+this.count+this.itemunit+" <a href=\"javascript:homePage(1);\" title=\"首页\">首页</a> <a href=\"javascript:previousPage()\" title=\"上一页\">上一页</a> <a href=\"javascript:nextPage()\" title=\"下一页\">下一页</a> <a href=\"javascript:lastPage();\" title=\"最后一页\">尾页</a> 页次:<font color=red>"+this.page+"</font>/"+this.pagecount+"页 "+this.perpagenum+this.itemunit+this.itemname+"/页";
        break;
  case 2:
     statushtml="<a href='#'>"+this.pagecount+"页/"+this.count+this.itemunit+"</a> <a href=\"javascript:homePage(1);\" title=\"首页\"><font face=webdings>9</font></a> <a href=\"javascript:previousPage()\" title=\"上一页\"><font face=webdings>7</font></a> ";
     var startpage=1;
     if (this.page==10)
       startpage=2;
     else if(this.page>10)
       startpage=eval((parseInt(this.page/10)-1)*10+parseInt((this.page)%10)+2);
      for(var i=startpage;i<=this.pagecount;i++){ 
          if (i==this.page)
           statushtml+="<a href=\"#\"><font color=\"#ff0000\">"+i+"</font></a> "
          else
            statushtml+="<a href=\"javascript:turn("+i+")\">"+i+"</a> "
            n=n+1;
          if (n>10) break;
      }
     statushtml+="<a href=\"javascript:nextPage()\" title=\"下一页\"><font face=webdings>8</font></a> <a href=\"javascript:lastPage();\" title=\"最后一页\"><font face=webdings>:</font></a>";
     statushtml="<span class='kspage'>"+statushtml+"</span>";
    break;     
  case 4:
     statushtml="共"+this.pagecount+"页/"+this.count+this.itemunit+this.itemname+" <a href=\"javascript:homePage(1);\" title=\"首页\"><font face=webdings>9</font></a> <a href=\"javascript:previousPage()\" title=\"上一页\"><font face=webdings>7</font></a> ";
      for(var i=this.page;i<=this.pagecount;i++){ 
          if (i==this.page)
           statushtml+="<b><font color=\"#ff0000\">"+i+"</font></b> "
          else
            statushtml+="<a href=\"javascript:turn("+i+")\">["+i+"]</a> "
            n=n+1;
          if (n>10) break;
      }
     statushtml+="<a href=\"javascript:nextPage()\" title=\"下一页\"><font face=webdings>8</font></a> <a href=\"javascript:lastPage();\" title=\"最后一页\"><font face=webdings>:</font></a>";
    break;     
  case 3:
     statushtml="第<font color=#ff000>"+this.page+"</font>页 共"+this.pagecount+"页 <a href=\"javascript:homePage(1);\" title=\"首页\"><<</a> <a href=\"javascript:previousPage()\" title=\"上一页\"><</a> <a href=\"javascript:nextPage()\" title=\"下一页\">></a> <a href=\"javascript:lastPage();\" title=\"最后一页\">>></a> "+this.perpagenum+this.itemunit+this.itemname+"/页";
   break;
 }
     statushtml+=" 第<select name=\"goto\" onchange=\"turn(parseInt(this.value));\">";
      for(var i=1;i<=this.pagecount;i++){
         if (i==this.page)
         statushtml+="<option value='"+i+"' selected>"+i+"</option>";
         else
         statushtml+="<option value='"+i+"'>"+i+"</option>";
      }    
     statushtml+="</select>页";
     getObject(this.p_obj).innerHTML=statushtml;
}
function homePage()
{
   if(this.page==1)
    alert("已经是首页了!")
   else
   loadData(1);

function lastPage()
{
   if(this.page==this.pagecount)
    alert("已经是最后一页了!")
   else
   loadData(this.pagecount);

function previousPage()
{
   if (this.page>1)
      loadData(this.page-1);
   else
      alert("已经是第一页了");      
}

function nextPage()
{
   if(this.page<this.pagecount)
      loadData(this.page+1);
   else
      alert("已经到最后一页了");
}
function turn(i)
{
     loadData(i);
}

Javascript 相关文章推荐
JS 日期验证正则附asp日期格式化函数
Sep 11 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
Sep 14 Javascript
JS中showModalDialog 的使用解析
Apr 17 Javascript
JS下载文件|无刷新下载文件示例代码
Apr 17 Javascript
jQuery Real Person验证码插件防止表单自动提交
Nov 06 Javascript
Bootstrap每天必学之进度条
Nov 30 Javascript
js替换字符串中所有指定的字符(实现代码)
Aug 17 Javascript
JS根据生日月份和日期计算星座的简单实现方法
Nov 24 Javascript
对vux点击事件的优化详解
Aug 28 Javascript
怎么理解wx.navigateTo的events参数使用详情
May 18 Javascript
vue-model实现简易计算器
Aug 17 Javascript
vue实现两个组件之间数据共享和修改操作
Nov 12 Javascript
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
Aug 31 #Javascript
给Javascript数组插入一条记录的代码
Aug 30 #Javascript
用javascript实现给出的盒子的序列是否可连为一矩型
Aug 30 #Javascript
Expandable &quot;Detail&quot; Table Rows
Aug 29 #Javascript
出现“不能执行已释放的Script代码”错误的原因及解决办法
Aug 29 #Javascript
推荐一些非常不错的javascript学习资源站点
Aug 29 #Javascript
070823更新的一个[消息提示框]组件 兼容ie7
Aug 29 #Javascript
You might like
PHP XML备份Mysql数据库
2009/05/27 PHP
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
Symfony2学习笔记之模板用法详解
2016/03/17 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
2016/10/11 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
Python 初始化多维数组代码
2008/09/06 Python
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
Django开发中复选框用法示例
2018/03/20 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
python中update的基本使用方法详解
2019/07/17 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
关于Keras模型可视化教程及关键问题的解决
2020/01/24 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
中国旅游网站:同程旅游
2016/09/11 全球购物
瑞贝卡·泰勒官方网站:Rebecca Taylor
2016/09/24 全球购物
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
全球性的众包图形设计市场:DesignCrowd
2021/02/02 全球购物
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
党员教师一句话承诺
2014/05/30 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
李白故里导游词
2015/02/12 职场文书
加入学生会自荐书
2015/03/05 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android