主要代碼如下:
index.asp復(fù)制代碼 代碼如下:
%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
!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" c />
title>Ajax的二級聯(lián)動(dòng)by啊峰/title>
script language="javascript" src="js.js">/script>
/head>
body>
h2>a >Ajax的二級聯(lián)動(dòng)by啊峰/a>/h2>
!--#include file="iconn.asp"-->
%
Set afeng = Conn.Execute("select bigclassid,bigclassname from bigclass")
%>
form id="form1" name="form1" method="post" action="">
div id="bigclass" style="float:left">
select name="select" >
option value="0">選擇一級分類/option>
%If Not afeng.Eof then
Do While Not afeng.Eof
bigclassid= afeng("bigclassid")
bigclassname = afeng("bigclassname")%>
option value="%=bigclassid%>">%=bigclassname%>/option>
%afeng.Movenext
Loop
End If
afeng.Close
Set afeng = Nothing
Conn.Close
Set Conn = Nothing%>
/select>
/div>
div id="subclass" style="float:left">select name="select2">
option value="0">選擇二級分類/option>
/select>
/div>
/form>
/body>
/html>
getsubcategory.asp文件:
復(fù)制代碼 代碼如下:
%
Response.Charset="GB2312" '設(shè)置字符集 原默認(rèn)為utf-8
bigclassid=safe(request.QueryString("bigclassid")) '非法字符過濾
If bigclassid>"" Then
Set Re=New RegExp
Re.IgnoreCase=true
Re.Global=false
Re.Pattern = "^[0-9]{1,3}$"
If Not Re.Test(bigclassid) Then
Response.Write "非法參數(shù)"
Response.End
End If%>
!--#include file="iconn.asp"-->
%On error Resume Next
set p = conn.execute("select * from smallclass where bigclassid="bigclassid"")
If Err Then
Err.Clear
Response.Write "查詢出錯(cuò)"
Response.End
End If
If Not p.Eof Then
html = "select name='smallclassid'>"vbnewline
Do While Not p.Eof
html = html"option value='"p("smallclassid")"'>"p("smallclassname")"/option>"vbnewline
p.Movenext
Loop
html = html"/select>"
Else
html = "select name='smallclassid'>option value='0' selected>暫無小類/option>/select>"
End If
p.Close
Set p = Nothing
Conn.Close
Set Conn = Nothing
Response.write html
html = ""
End If
%>
iconn.asp文件:
復(fù)制代碼 代碼如下:
%
Set conn=server.CreateObject("adodb.connection")
db = "$#yeahdown.com@$$$@@%%.asp"
C Server.MapPath(db)
On Error Resume Next
conn.open ConnStr
If Err Then
Err.Clear
Response.Write "div id=""error"">連接數(shù)據(jù)庫出錯(cuò)/div>"
Response.End
End If
Function safe(Str)
If Isnull(Str) Then
safe = ""
Exit Function
End If
Str = Replace(Str,Chr(0),"", 1, -1, 1)
Str = Replace(Str, """", """, 1, -1, 1)
Str = Replace(Str,"","", 1, -1, 1)
Str = Replace(Str,">",">", 1, -1, 1)
Str = Replace(Str, "script", "script", 1, -1, 0)
Str = Replace(Str, "SCRIPT", "SCRIPT", 1, -1, 0)
Str = Replace(Str, "Script", "Script", 1, -1, 0)
Str = Replace(Str, "script", "Script", 1, -1, 1)
Str = Replace(Str, "object", "object", 1, -1, 0)
Str = Replace(Str, "OBJECT", "OBJECT", 1, -1, 0)
Str = Replace(Str, "Object", "Object", 1, -1, 0)
Str = Replace(Str, "object", "Object", 1, -1, 1)
Str = Replace(Str, "applet", "applet", 1, -1, 0)
Str = Replace(Str, "APPLET", "APPLET", 1, -1, 0)
Str = Replace(Str, "Applet", "Applet", 1, -1, 0)
Str = Replace(Str, "applet", "Applet", 1, -1, 1)
Str = Replace(Str, "[", "[")
Str = Replace(Str, "]", "]")
Str = Replace(Str, """", "", 1, -1, 1)
Str = Replace(Str, "=", "=", 1, -1, 1)
Str = Replace(Str, "'", "''", 1, -1, 1)
Str = Replace(Str, "select", "select", 1, -1, 1)
Str = Replace(Str, "execute", "execute", 1, -1, 1)
Str = Replace(Str, "exec", "exec", 1, -1, 1)
Str = Replace(Str, "join", "join", 1, -1, 1)
Str = Replace(Str, "union", "union", 1, -1, 1)
Str = Replace(Str, "where", "where", 1, -1, 1)
Str = Replace(Str, "insert", "insert", 1, -1, 1)
Str = Replace(Str, "delete", "delete", 1, -1, 1)
Str = Replace(Str, "update", "update", 1, -1, 1)
Str = Replace(Str, "like", "like", 1, -1, 1)
Str = Replace(Str, "drop", "drop", 1, -1, 1)
Str = Replace(Str, "create", "create", 1, -1, 1)
Str = Replace(Str, "rename", "rename", 1, -1, 1)
Str = Replace(Str, "count", "count", 1, -1, 1)
Str = Replace(Str, "chr", "chr", 1, -1, 1)
Str = Replace(Str, "mid", "mid", 1, -1, 1)
Str = Replace(Str, "truncate", "truncate", 1, -1, 1)
Str = Replace(Str, "nchar", "nchar", 1, -1, 1)
Str = Replace(Str, "char", "char", 1, -1, 1)
Str = Replace(Str, "alter", "alter", 1, -1, 1)
Str = Replace(Str, "cast", "cast", 1, -1, 1)
Str = Replace(Str, "exists", "exists", 1, -1, 1)
Str = Replace(Str,Chr(13),"br>", 1, -1, 1)
safe = Replace(Str,"'","''", 1, -1, 1)
End Function
%>
最后一個(gè)js.js
復(fù)制代碼 代碼如下:
function createxmlhttp()
{
xmlhttpobj = false;
try{//創(chuàng)建對象,一個(gè)一個(gè)的試,哎,要是能統(tǒng)一標(biāo)準(zhǔn)都好。。
xmlhttpobj = new XMLHttpRequest;
}catch(e){
try{
xmlhttpobj=new ActiveXObject("MSXML2.XMLHTTP");
}catch(e2){
try{
xmlhttpobj=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e3){
xmlhttpobj = false;
}
}
}
return xmlhttpobj;
}
function getsubcategory(bigclassid){
if(bigclassid==0){
document.getElementById("subclass").innerHTML="select name='smallclassid'>option value='0' selected>選擇二級分類/option>/select>";
return;
};
var xmlhttpobj = createxmlhttp();
if(xmlhttpobj){//如果創(chuàng)建對象xmlhttpobj成功
xmlhttpobj.open('get',"getsubcategory.asp?bigclassid="+bigclassid+"number="+Math.random(),true);//get方法 加個(gè)隨機(jī)數(shù)。
xmlhttpobj.send(null);
xmlhttpobj.onreadystatechange=function(){//客戶端監(jiān)控函數(shù)
if(xmlhttpobj.readystate==4){//服務(wù)器處理請求完成
if(xmlhttpobj.status==200){
//alert('ok');
var html = xmlhttpobj.responseText;//獲得返回值
document.getElementById("subclass").innerHTML=html;
}else{
document.getElementById("subclass").innerHTML="對不起,您請求的頁面有問題...";
}
}else{
document.getElementById("subclass").innerHTML="加載中,請梢候...";//服務(wù)器處理中
}
}
}
}
打包文件下載