
asp 标题重复的问题无刷新验证
Ajax就是用 JS + XMLHttpRequest 做的
-----------------
两个文件,代码如下:
1)BD.htm 标题页填写
<html>
<head>
<title>表单填写.htm</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript">
function chk(urlStr)
{
if (urlStr)
{
try
{
var srcStr='';
var objHTTP=new ActiveXObject("MSXML2.XMLHTTP");
with(objHTTP)
{
open("GET",urlStr,false);
onreadystatechange=function(){
if(readyState==4)
if(status==200)
srcStr=RSBinaryToString(responseBody);
}
try{ send(); }
catch(e){
srcStr="错误";
}
}
objHTTP=null;
}
catch(e){srcStr="错误";}
return srcStr;
}
}
function C4(url)
{
if (url.value==""){alert("请输入");url.focus();return;}
var temp,rtValue;
srcMap.innerHTML='正在检测...';
//将http://127.0.0.1/web/temp.asp改成你自己的asp地址。
temp=chk("http://127.0.0.1/web/temp.asp?"+url.name+"="+url.value);
if (temp=="0"){
rtValue="<font color='blue'>OK</font>";
}
else if(temp=="1")
{rtValue="<font color='red'>重复</font>";}
else
{rtValue="<font color='red'>连接数据出错</font>";}
srcMap.innerHTML=rtValue;
}
</script>
<body>
<form>
<input onblur="C4(this);" name="title" type=text value="1" size="30">
<span class="mdiv" id=srcMap style="overflow:hidden;background:#FFFFFF">
what can U do ?</span>
<br>
<input type=text size=30 >
</form>
<script language="vbscript">
'将二进制数据转换成字符。
function RSBinaryToString(xBinary)
Dim Binary
If vartype(xBinary)=8 Then Binary = MultiByteToBinary(xBinary) Else Binary = xBinary
Dim RS, LBinary
Const adLongVarChar = 201
Set RS = CreateObject("ADODB.Recordset")
LBinary = LenB(Binary)
If LBinary>0 Then
RS.Fields.Append "mBinary", adLongVarChar, LBinary
RS.Open
RS.AddNew
RS("mBinary").AppendChunk Binary
RS.Update
RSBinaryToString = RS("mBinary")
Else
RSBinaryToString = ""
End If
End Function
</script>
</body>
</html>
</html>
2)temp.asp
<%@LANGUAGE="VBSCRIPT"%>
<%
option explicit
dim conn,connstr,db
'更改数据库名字,这里是ACCESS数据库
db="a.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
conn.Open connstr
'TT:存储传过来的title的值;blCF:是否重复,1为重复,0为不重复。
dim rs,sql,TT,blCF
blCF="0"
TT=request("title")
set rs=server.createobject("adodb.recordset")
'title为字段、yourTable为表名,请改为你自己的。
sql="Select title from yourTable"
rs.open sql,conn,1,1
if not rs.eof and not rs.bof then
do while not rs.EOF
if TT=rs("title") then
blCF="1"
exit do
end if
rs.Movenext
loop
end if
rs.Close
response.write blCF
set rs=nothing
Conn.close
Set conn = Nothing
%>
===========
基本上是这样的,楼主根据情况自己改一下。
我这里测试通过。
如果楼主不想用AJAX,可以参考这个"Javascript+ASP打造无刷新"
标签: 代码