Ajax

1、控制显示记录个数

  1 <?xml version="1.0" encoding="gb2312"?>//后台代码test.asp xml格式文档
  2 <%
  3 'Response.AddHeader "Content-Type","text/html;charset=gb2312"//此行代码会让浏览器以为是HTML文档,因此必须删除
  4 Response.ContentType = "text/xml"//XML文档格式声明
  5 
  6 set conn = Server.CreateObject("adodb.connection")
  7 data = Server.mappath("data.mdb")//获取数据库物理路径
  8 conn.Open "driver={microsoft access driver (*.mdb)};"&"dbq="&data//利用数据库连接对象打开数据库
  9 coun=CInt(Request("coun"))
 10 %>
 11 <% 
 12 set rs = Server.CreateObject("adodb.recordset")//定义记录集对象
 13 sql ="select * from xmlhttp order by id desc"
 14 rs.open sql,conn,1,1//第三个参数表示指针类型,第四个参数表示锁定类型
 15 %>
 16 <data count="<%=coun%>" >
 17 <%
 18 n=0
 19 while (not rs.eof) and (n<coun)
 20 %>
 21     <item id="<%=rs("id")%>">
 22          <who><%=trim(rs("who")) %></who>
 23          <class><%=trim(rs("class")) %></class>
 24          <what><%=trim(rs("what")) %></what>
 25     </item>
 26 <%
 27     n = n + 1
 28     rs.movenext
 29 wend
 30 %>
 31 </data>

 32 <!doctype html>
 34 <html>
 35 <head>
 36 <meta charset="gb2312">
 37 <title></title>
 38 <script>
 39 var request;
 40 function createXMLHttpRequest()// 创建XMLHttpRequest对象函数
 41 {
 42     if( window.XMLHttpRequest )
 43     {
 44         request = new XMLHttpRequest();
 45     }
 46     else if ( window.ActiveXObject )
 47     {
 48         try
 49         {
 50             request = new ActiveXObject( "Msxml2.XMLHTTP" );
 51         }
 52         catch ( e )
 53         {
 54             try
 55             {
 56                 request = new ActiveXObject( "Microsoft.XMLHTTP" );
 57             }
 58             catch ( e )
 59             {
 60                 alert( "初始化XMLHttpRequest对象失败,请检查浏览器是否支持XMLHttpRequest组件。" );
 61             }
 62         }
 63     }
 64 }
 65 createXMLHttpRequest();
 66 
 67 function check(){//绑定回调函数
 68     var coun = document.getElementById( "coun" ).value;
 69     request.open( "GET", "test.asp?coun=" + coun, true );
 70     request.onreadystatechange = updatePage;
 71     request.send( null );
 72 }
 73 
 74 function updatePage()
 75 {
 76     var info = document.getElementById( "info" );
 77     if( request.readyState == 1 )
 78     {
 79         info.innerHTML = "<img src='images/loading.gif' />,连接中......";
 80     }
 81     else if( request.readyState == 2 || request.readystate == 3 )
 82     {
 83         info.innerHTML = "<img src='images/loading.gif' />,读数据......";
 84     }
 85     else if( request.readyState == 4 )
 86     {
 87         if( request.status == 200 )
 88         {
 89             xml = request.responseXML;
 90             info.innerHTML = showXml( xml );//输出XML格式信息
 91         }
 92         else
 93         alert( request.status );
 94     }
 95 
 96 }
 97 
 98 function showXml( xml )
 99 {
100     var count = "";
101     var html = "";
102     var items = xml.getElementsByTagName( "item" );
103     html += "<table><tr><th>成员名</th><th>类型</th><th>说明</th></tr>"
104     //for( var i  in  items ){//IE不支持for……in循环结构
105     for( var i=0 ; i< items.length; i++ ){
106         html += "<tr>"
107         var child = items[i].childNodes
108         //for( var n in child ){
109         for( var n=0 ; n< child.length; n++ ){
110             if( child[n].nodeType == 1 ){
111                 html += "<td>"
112                 html += child[n].firstChild.data;
113                 html += "</td>"
114             }
115         }
116         html += "</tr>";
117     }
118     html += "</table>"
119     return html;
120 }
121 </script>
122 <style type="text/css">
123 table {
124     margin:1em;
125     border-collapse:collapse;
126     border:solid 1px #FF33FF;
127 }
128 td, th {
129     border:solid 1px #FF33FF;
130     padding:4px 8px;
131 }
132 </style>
133 </head>
134 <body>
135 <h1>显示记录个数</h1>
136 显示记录数:
137 <input name="coun" type="text" id="coun">
138 (最多14条)
139 <input type="button" onClick="check();" value="查询">//为单击事件绑定函数
140 <div id="info"></div>
141 </body>
142 </html>

 2、记录集分页显示

  1 <?xml version="1.0" encoding="gb2312"?>
  2 <%
  3 Response.CacheControl="no-cache"
  4 Response.AddHeader "pragma","no-cache"
  5 'Response.AddHeader "Content-Type","text/html;charset=gb2312"
  6 Response.Expires = -1
  7 Response.ExpiresAbsolute = now - 1
  8 Response.ContentType = "text/xml"
  9 
 10 set conn = Server.CreateObject("adodb.connection")
 11 data = Server.mappath("data.mdb")
 12 conn.Open "driver={microsoft access driver (*.mdb)};"&"dbq="&data
 13 coun=CInt(Request("coun"))
 14 if coun<1 then coun = 1
 15 if coun>14 then coun =14
 16 %>
 17 <% 
 18 set rs = Server.CreateObject("adodb.recordset")
 19 sql ="select * from xmlhttp"
 20 rs.CursorType=3 
 21 rs.CursorLocation = 3 
 22 rs.open sql,conn,2,1
 23 rs.AbsolutePosition = coun
 24 %>
 25 <data count="<%=coun%>" >
 26 <%
 27 n=0
 28 while (not rs.eof) and (n<2)//每一页都只读取前两个记录
 29 %>
 30     <item id="<%=rs("id")%>">
 31          <who><%=trim(rs("who")) %></who>
 32          <class><%=trim(rs("class")) %></class>
 33          <what><%=trim(rs("what")) %></what>
 34     </item>
 35 <%
 36     n = n + 1
 37     rs.movenext
 38 wend
 39 %>
 40 </data>

 41 <!doctype html>
 42 <html>
 43 <head>
 44 <meta charset="gb2312">
 45 <title></title>
 46 <script>
 47 var request;
 48 function createXMLHttpRequest()// 创建XMLHttpRequest对象函数
 49 {
 50     if( window.XMLHttpRequest )
 51     {
 52         request = new XMLHttpRequest();
 53     }
 54     else if ( window.ActiveXObject )
 55     {
 56         try
 57         {
 58             request = new ActiveXObject( "Msxml2.XMLHTTP" );
 59         }
 60         catch ( e )
 61         {
 62             try
 63             {
 64                 request = new ActiveXObject( "Microsoft.XMLHTTP" );
 65             }
 66             catch ( e )
 67             {
 68                 alert( "初始化XMLHttpRequest对象失败,请检查浏览器是否支持XMLHttpRequest组件。" );
 69             }
 70         }
 71     }
 72 }
 73 createXMLHttpRequest();
 74 
 75 function check(n){//绑定回调函数
 76     var coun = 1;
 77     var cur = parseInt(document.getElementById( "cur" ).innerHTML);
 78     document.getElementById( "up" ).style.display = "none";
 79     
 80     if(n==1) {
 81         coun = (cur-1)*2-1;//页码转化为下一页首条记录
 82         document.getElementById( "cur" ).innerHTML =cur-1;  //更新标题页码  
 83         document.getElementById( "down" ).style.display = "inline";    
 84         if(cur<=2){
 85             document.getElementById( "up" ).style.display = "none";
 86         }
 87         else {
 88             document.getElementById( "up" ).style.display = "inline";
 89         }
 90     }
 91     if(n==2){
 92         coun = (cur+1)*2-1;
 93         document.getElementById( "cur" ).innerHTML =cur+1;
 94         document.getElementById( "up" ).style.display = "inline";
 95         if(cur>=6) {
 96             document.getElementById( "down" ).style.display = "none";
 97         }
 98         else {
 99             document.getElementById( "down" ).style.display = "inline";
100         }    
101     }
102 
103     request.open( "GET", "test.asp?coun=" + coun, true );
104     request.onreadystatechange = updatePage;
105     request.send( null );
106 }
107 
108 function updatePage()
109 {
110     var info = document.getElementById( "info" );
111     if( request.readyState == 1 )
112     {
113         info.innerHTML = "<img src='images/loading.gif' />,连接中......";
114     }
115     else if( request.readyState == 2 || request.readystate == 3 )
116     {
117         info.innerHTML = "<img src='images/loading.gif' />,读数据......";
118     }
119     else if( request.readyState == 4 )
120     {
121         if( request.status == 200 )
122         {
123             xml = request.responseXML;
124             info.innerHTML = showXml( xml );
125         }
126         else
127         alert( request.status );
128     }
129 
130 }
131 
132 function showXml( xml )
133 {
134     var count = "";
135     var html = "";
136     var items = xml.getElementsByTagName( "item" );
137     html += "<table><tr><th>成员名</th><th>类型</th><th>说明</th></tr>"
138     //for( var i  in  items ){
139     for( var i=0 ; i< items.length; i++ ){
140         html += "<tr>"
141         var child = items[i].childNodes
142         //for( var n in child ){
143         for( var n=0 ; n< child.length; n++ ){
144             if( child[n].nodeType == 1 ){
145                 html += "<td>"
146                 html += child[n].firstChild.data;
147                 html += "</td>"
148             }
149         }
150         html += "</tr>";
151     }
152     html += "</table>"
153     return html;
154 }
155 </script>
156 <style type="text/css">
157 table{
158     margin:1em;
159     border-collapse:collapse;
160     border:solid 1px #FF33FF;
161 }
162 td,th {
163     border:solid 1px #FF33FF;
164     padding:4px 8px;
165 }
166 .btn {
167     cursor:pointer;
168     border:solid 1px;
169     border-color:#888 #ddd #eee #888;
170     padding:6px 12px;
171     zoom:1;
172 }
173 .red {
174     color:red;
175     font-size:1.5em;
176     padding:2px 6px;
177 }
178 </style>
179 </head>
180 <body onLoad="check();">
181 <h1>记录集分页显示</h1>
182 <h2>第<span class="red" id="cur">1</span>页记录列表</h2>
183 <p>(2条/页,共7页)</p>
184 <div id="info"></div>
185 <span class="btn" id="up" onClick="check(1)">上一页</span> <span class="btn" id="down" onClick="check(2)">下一页</span>
186 </body>
187 </html>

 3、异步更新Tab面板

  1 <?xml version="1.0" encoding="gb2312"?>
  2 <%
  3 Response.CacheControl="no-cache"
  4 Response.AddHeader "pragma","no-cache"
  5 'Response.AddHeader "Content-Type","text/html;charset=gb2312"
  6 Response.Expires = -1
  7 Response.ExpiresAbsolute = now - 1
  8 Response.ContentType = "text/xml"
  9 
 10 set conn = Server.CreateObject("adodb.connection")
 11 data = Server.mappath("data.mdb")
 12 conn.Open "driver={microsoft access driver (*.mdb)};"&"dbq="&data
 13 coun=CInt(Request("coun"))
 14 if  coun = 1 then 
 15     str = "属性"
 16 else
 17     str = "方法"
 18 end if
 19 %>
 20 <% 
 21 set rs = Server.CreateObject("adodb.recordset")
 22 sql ="select * from xmlhttp where class = '"&str&"' order by id desc"
 23 rs.open sql,conn,1,1
 24 %>
 25 <data count="<%=coun%>" >
 26 <%
 27 n=0
 28 while (not rs.eof)
 29 %>
 30     <item>
 31          <who><%=trim(rs("who")) %></who>
 32          <class><%=trim(rs("class")) %></class>
 33          <what><%=trim(rs("what")) %></what>
 34     </item>
 35 <%
 36     n = n + 1
 37     rs.movenext
 38 wend
 39 %>
 40 </data>

 41 <!doctype html>
 42 <html>
 43 <head>
 44 <meta charset="gb2312">
 45 <title></title>
 46 <style type="text/css">
 47 h1 { font-size:20px; }
 48 /***  Tab面板样式
 49 -------------------------------------------***/
 50 /* Tab菜单包含框结构 */
 51 .tab_wrap { width:auto; }
 52 /* Tab菜单栏结构 */
 53 ul.tab {
 54     height:24px;
 55     list-style:none;
 56     margin:0;
 57     padding:0;
 58 }
 59 ul.tab li {
 60     float:left;
 61     height:24px;
 62     padding:0 1em;
 63     cursor:pointer;
 64     font:14px/24px "宋体" Arial, Helvetica, sans-serif;
 65 }
 66 /* Tab菜单栏样式类 */
 67 .normal {
 68     color:#1f3a87;
 69     background:#fff;
 70     border:1px solid #e6f2ff;
 71     border-bottom:0;
 72 }
 73 .hover {
 74     color:#1f3a87;
 75     font-weight:bold;
 76     background:#e6f2ff;
 77     border:1px solid #e6f2ff;
 78     border-bottom:0;
 79 }
 80 /* Tab内容显隐样式类 */
 81 .show { display:block; }
 82 .none { display:none; }
 83 /* Tab内容包含框结构 */
 84 .content {
 85     height:auto;
 86     padding:6px;
 87     clear:both;
 88     background:#e6f2ff;
 89     text-align:left;
 90 }
 91 </style>
 92 <script>
 93 function hover(event){
 94     var $ = function(o){ 
 95         if(typeof(o) == "string") 
 96         return document.getElementById(o); 
 97         return o; 
 98     }
 99     var tab = $("tab").getElementsByTagName("li");
100     var content = $("content").getElementsByTagName("div");
101     var check=function(tab, o) {//为每个TAB项都绑定鼠标滑入函数,兼容IE
102         if(document.addEventListener){
103             return tab.addEventListener("mouseover", o, true);
104         }
105         else if(document.attachEvent){
106             return tab.attachEvent("onmouseover", o);
107         }
108     }
109     ;
110     for(var i = 0; i < tab.length; i ++ )//核心代码
111     {
112         (function(j){
113             check(tab[j], function(){
114                 for(var n = 0; n < tab.length; n ++ )
115                 {
116                     tab[n].className = "normal";
117                     content[n].className = "none";
118                 }
119                 tab[j].className = "hover";
120                 content[j].className = "show";
121             }
122             );
123         }
124         )(i);
125     }
126 }
127 window.onload = function()
128 {
129     hover();
130     check(1);//默认显示Tab1
131 }
132 //以上是Tab菜单的脚本
133 /////////////////////////////////////////////////////////////////////
134 //以下是Ajax自动分类查询脚本
135 //-----------------------------------
136 </script>
137 <script>
138 var request;
139 function createXMLHttpRequest()// 创建XMLHttpRequest对象函数
140 {
141     if( window.XMLHttpRequest )
142     {
143         request = new XMLHttpRequest();
144     }
145     else if ( window.ActiveXObject )
146     {
147         try
148         {
149             request = new ActiveXObject( "Msxml2.XMLHTTP" );
150         }
151         catch ( e )
152         {
153             try
154             {
155                 request = new ActiveXObject( "Microsoft.XMLHTTP" );
156             }
157             catch ( e )
158             {
159                 alert( "初始化XMLHttpRequest对象失败,请检查浏览器是否支持XMLHttpRequest组件。" );
160             }
161         }
162     }
163 }
164 createXMLHttpRequest();
165 
166 function check(n){
167     request.open( "GET", "test.asp?coun=" + n, true );
168     request.onreadystatechange = function(){
169         updatePage(n);
170     };
171     request.send( null );
172 }
173 
174 function updatePage(n)
175 {
176     if(n==1){
177            var info = document.getElementById( "content_1" );
178     }else{
179         var info = document.getElementById( "content_2" );
180     }
181     if( request.readyState == 1 )
182     {
183         info.innerHTML = "<img src='images/loading.gif' />,连接中......";
184     }
185     else if( request.readyState == 2 || request.readystate == 3 )
186     {
187         info.innerHTML = "<img src='images/loading.gif' />,读数据......";
188     }
189     else if( request.readyState == 4 )
190     {
191         if( request.status == 200 )
192         {
193             xml = request.responseXML;
194             info.innerHTML = showXml( xml );
195         }
196         else
197         alert( request.status );
198     }
199 
200 }
201 
202 function showXml( xml )
203 {
204     var count = "";
205     var html = "";
206     var items = xml.getElementsByTagName( "item" );
207     html += "<table><tr><th>成员名</th><th>类型</th><th>说明</th></tr>"
208     //for( var i  in  items ){
209     for( var i=0 ; i< items.length; i++ ){
210         html += "<tr>"
211         var child = items[i].childNodes
212         //for( var n in child ){
213         for( var n=0 ; n< child.length; n++ ){
214             if( child[n].nodeType == 1 ){
215                 html += "<td>"
216                 html += child[n].firstChild.data;
217                 html += "</td>"
218             }
219         }
220         html += "</tr>";
221     }
222     html += "</table>"
223     return html;
224 }
225 </script>
226 <style type="text/css">
227 table{
228     margin:1em;
229     border-collapse:collapse;
230     border:solid 1px #FF33FF;
231 }
232 td,th {
233     border:solid 1px #FF33FF;
234     padding:4px 8px;
235 }
236 </style>
237 </head>
238 <body>
239 <h1>XMLHttpRequest对象成员参考</h1>
240 <div class="tab_wrap">
241     <ul class="tab" id="tab">
242         <li id="tab_1" onMouseOver="check(1)" class="hover">属性</li>//为tab面板绑定check()函数
243         <li id="tab_2" onMouseOver="check(2)" class="normal">方法</li>
244     </ul>
245     <div class="content" id="content">
246         <div id="content_1" class="show">暂无属性</div>
247         <div id="content_2" class="none">暂无方法</div>
248     </div>
249 </div>
250 </body>
251 </html>

 4、快速匹配搜索

  1 <%
  2 dim a(20)
  3 a(1)="CSS: Cascading Style Sheets,层叠格式表"
  4 a(2)="CGI(Common Gateway Interface,通用网关接口)" 
  5 a(3)="DCD: Document Content Description for XML: XML文件内容描述"
  6 a(4)="DTD: Document Type Definition,文件类型定义" 
  7 a(5)="HTML(HyperText Markup Language,超文本标记语言)" 
  8 a(6)="JVM: Java Virtual Machine, Java虚拟机"
  9 a(7)="SGML: Standard Generalized Markup Language,标准通用标记语言 "
 10 a(8)="XML: Extensible Markup Language(可扩展标记语言)"
 11 a(9)="XSL: Extensible Style Sheet Language(可扩展设计语言)" 
 12 a(10)="DNS(Domain Name System,域名系统)"
 13 a(11)="IMAP4: Internet Message Access Protocol Version 4,第四版因特网信息存取协议 "
 14 a(12)="Internet(因特网)" 
 15 a(13)="IP(Internet Protocol,网际协议)" 
 16 a(14)="MODEM(Modulator Demodulator,调制解调器)" 
 17 a(15)="POP3: Post Office Protocol Version 3,第三版电子邮局协议" 
 18 a(16)="RDF: Resource Description Framework,资源描述框架"
 19 a(17)="SNMP(Simple Network Management Protocol,简单网络管理协议)" 
 20 a(18)="SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)" 
 21 a(19)="VPN: virtual private network,虚拟局域网" 
 22 a(20)="WWW(World Wide Web,万维网,是因特网的一部分"
 23 
 24 Response.AddHeader "Content-Type","text/html;charset=gb2312" 
 25 q=request.querystring("q")
 26 if len(q)>0 then
 27     hint=""
 28     for i=1 to ubound(a)
 29         x1=ucase(mid(q,1,len(q)))
 30         x2=ucase(mid(a(i),1,len(q)))
 31         if x1=x2 then
 32             if hint="" then
 33                 hint="<option value="""&a(i)&""">"&a(i)&"</option>"//首次匹配成功
 34             else
 35                 hint=hint & "<option value="""&a(i)&""">"&a(i)&"</option>"//下次匹配成功则累加
 36             end if
 37         end if
 38     next
 39 end if
 40 
 41 if hint="" then
 42     response.write("<select><option>没有匹配对象</option></select>")
 43 else
 44     response.write("<select onblur='ok(this)'  onchange='ok(this)'>"&hint&"</select>")//定义两个事件,失去焦点和改动选项都可以触发,因为当下拉选项仅有一个选项时,onchange事件类型触发不了
 45 end if
 46 
 47 %>

 48 <!doctype html>
 49 <html>
 50 <head>
 51 <meta charset="gb2312">
 52 <title></title>
 53 <script>
 54 var request;
 55 function createXMLHttpRequest()// 创建XMLHttpRequest对象函数
 56 {
 57     if( window.XMLHttpRequest )
 58     {
 59         request = new XMLHttpRequest();
 60     }
 61     else if ( window.ActiveXObject )
 62     {
 63         try
 64         {
 65             request = new ActiveXObject( "Msxml2.XMLHTTP" );
 66         }
 67         catch ( e )
 68         {
 69             try
 70             {
 71                 request = new ActiveXObject( "Microsoft.XMLHTTP" );
 72             }
 73             catch ( e )
 74             {
 75                 alert( "初始化XMLHttpRequest对象失败,请检查浏览器是否支持XMLHttpRequest组件。" );
 76             }
 77         }
 78     }
 79 }
 80 createXMLHttpRequest();
 81 
 82 function check(str){
 83    if (str.length > 0)
 84    {
 85       var url = "test.asp?q=" + str
 86       request.open("GET", url , true)
 87       request.onreadystatechange = updatePage;
 88       request.send(null)
 89    }
 90 }
 91 
 92 function updatePage()
 93 {
 94     var info = document.getElementById("txtHint");
 95     if( request.readyState == 4 )
 96     {
 97         if( request.status == 200 )
 98         {
 99             info.innerHTML = request.responseText;
100         }
101         else
102         alert( request.status );
103     }
104 
105 }
106 
107 function ok(o){//当用户选择或激活匹配下拉选项,则自动把文本复制到上面
108       var o1 =  document.getElementById("ok1");
109       document.getElementById("txt1").value = o.value;
110 }
111 </script>
112 </head>
113 <body>
114 <h1>快速匹配搜索</h1>
115 <form>
116     <label for="txt1">关 键 词:</label>
117     <input name="txt1" type="text" id="txt1" onkeyup="check(this.value)" size="60"><input name="" type="submit" value="提交">
118 </form>
119 <p>快速匹配: <span id="txtHint">
120     <select>
121         <option>请输关键词</option>
122     </select>
123     </span></p>
124 </body>
125 </html>

 

posted @ 2018-11-25 19:18  agasha  阅读(161)  评论(0编辑  收藏  举报