浏览 1918 次
锁定老帖子 主题:asp+AJAX
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-27
最后修改:2008-11-27
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Ajax - Sample1</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> //请一定要将此页的编码设为UTF-8,否则将出现乱码 <meta name="author" content="tonyhl[at]126.com" /> <meta http-equiv="pragma" content="no-cache"/> <script language="javascript" type="text/javascript" src="reg.js"></script> <link rel="stylesheet" href="css.css" type="text/css" media="all"/> <style type="text/css"> <!-- #Layer1 { position:absolute; width:200px; height:115px; z-index:1; left: 409px; top: 88px; } --> </style> </head> <body> <h2>Ajax应用实例: 注册模块</h2> <div id="Layer1"> <div id="msg"></div> </div> ID: <input type="text" id="regid" /> Password: <input type="password" id="regpassword" /> <input name="f" type="file" /> <input type="submit" id="regsubmit" value="注册" onclick="Check()" /> <h2>当注册ID为 tony的用户时,后台验证该ID已存在,返回提示信息<br /> 为突出显示无刷新效果,服务器端程序将自动进行百万加法运算 </h2> </body> </html> <!--注册模块-->default.asp <!----表单数据提交脚本--->REG.JS function GE(a){return document.getElementById(a);} function Check(){ if(GE('regid').value==''){GE('msg').innerHTML='ID不能为空';return false} if(GE('regpassword').value==''){GE('msg').innerHTML='password 不能为空';return false} var X=new ActiveXObject("Msxml2.XMLHTTP"); if(X){ GE('regsubmit').disabled=true; X.onreadystatechange=function(){ if(X.readyState==4){ if(X.status==200){ eval(X.responseText) } else{GE('msg').innerHTML=X.statusText} } else{GE('msg').innerHTML="正在提交数据..."} }; X.open('POST','reg.asp',true); X.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); var SendData = 'regid='+GE('regid').value+'®password='+GE('regpassword').value+'&file='+GE('f').value X.send(SendData) } else{ GE('msg').innerHTML='你的浏览器不支持XMLHttpRequest' } } <!---程序处理--->reg.asp <%@ LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>//CODEPAGE必须为650001,否则也出现乱码,如果有HTML文字,一定设为UTF-8编码,否则将出现乱码. <% Dim regid, regpassword, str regid=Request.Form("regid") regpassword=Request.Form("regpassword") f=Request.Form("file") Dim i, ii ii = 0 For i = 0 To 1000000 ii = ii + i Next If regid="" or regpassword="" then str = "ID和PASSWORD必须填写" Else If regid <> "tony" Then str = "注册成功,ID为" & regid & " , 密码为" & regpassword&f Else str = "注册失败,ID已经存在" End If End if Response.Write "GE('msg').innerHTML='" & str & "';GE('regsubmit').disabled=false" Response.End %> Asp+AJAX分页 <%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%> <% //定义数据库连接语句 var connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Server.MapPath("database/vote.mdb"); //建立一个rs数据库查询 var rs = Server.CreateObject("ADODB.Recordset") //rs连接方式 rs.ActiveConnection = connstring //rs查询语句(按照用户提交时间倒序查询) rs.Source = "select * from users order by usetime DESC" //定义数据库查询模式 rs.CursorType = 3 rs.CursorLocation = 3 rs.LockType = 1 //定义每页显示数据数量 rs.PageSize = 10 //打开数据库连接 rs.Open() //定义数据库纪录总数,分页总数,URL路径 var counts,pagecos,thisUrl counts = rs.RecordCount pagecos = rs.PageCount thisUrl = Request.ServerVariables("URL") //如果游标在表中就执行 if(!rs.EOF || !rs.BOF){ //如果url的page参数不为空就执行 if(Request("page").Count != 0){ //定义默认链接字符串,第一页,尾页,上页,下页 //URL的page值(指定的当前页),当前页,当前每页显示数据数量 var defaltStr,firstpage,lastpage,prepage,nextpage,pages,nowPage,nowSize defaltStr = '<a href="'+thisUrl+'?page=' firstpage = defaltStr+'1">首页</a>' lastpage = defaltStr+pagecos+'">尾页</a>' pages = Request("page") //如果处于第一页 //首页,上一页不为链接 if(pages <= 1){ rs.AbsolutePage = 1; firstpage = '首页' prepage = '上一页' nextpage = defaltStr+'2">下一页</a>' //如果处于最后一页 //尾页,下一页不为链接 }else if(pages >= pagecos){ rs.AbsolutePage = pagecos; prepage = defaltStr+(pagecos-1)+'">上一页</a>' lastpage = '尾页' nextpage = '下一页' }else{ rs.AbsolutePage = pages prepage = defaltStr+(Number(pages)-1)+'">上一页</a>' nextpage = defaltStr+(Number(pages)+1)+'">下一页</a>' } } nowPage = rs.AbsolutePage nowSize = rs.PageSize //如果处于最后一页,并且数据显示数量与每页显示数据数量不相等时 //因为最后一页不可能每次都刚好与每页显示数据数量相等 //所以需要定义一个不相等的方法 if(nowPage >= pagecos && (pagecos*rs.PageSize)%counts != 0){ nowSize = counts%rs.PageSize } %> <table width="100%" border="0" cellspacing="0" cellpadding="0" class="userinfo"> <tr> <td align="center"> <!--显示首页,上一页 --> <%=firstpage%> <%=prepage%> 跳转到第 <select onchange="location.href='<%=thisUrl%>?page='+this.value"> <% //分页依靠循环显示 for(var num=1; num<=pagecos; num++){ if(nowPage == num){ %> <option value="<%=num%>" selected="selected"><%=num%></option> <% }else{ %> <option value="<%=num%>"><%=num%></option> <% } } %> </select> 页 <!--显示下一页,尾页 --> <%=nextpage%> <%=lastpage%> <!--显示当前页数,总页数,总记录数,每页显示数据数量 --> 共 <%=nowPage%> / <%=pagecos%> 页 <%=counts%> / <%=rs.PageSize%> 条记录 </td> </tr> <% //内容依靠循环显示 for(var i=1;i<=nowSize;i++){ %> <tr> <td><span>用户IP:</span><%=rs("usip")%></td> </tr> <tr> <td><span>建议:</span><%=rs("us1")%></td> </tr> <tr> <td><span>提交时间:</span><%=rs("usetime")%></td> </tr> <% //数据库游标向移向下一条记录 rs.MoveNext(); } %> </table> <% //如果数据库游标不在数据库列中 }else{ Response.Write("没有用户信息!") } //关闭数据库连接 rs.Close() %> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |