- 爱易网页
-
ASP教程
- 使用xmlhttp检测表单与数据库是否重复.该如何处理
日期:2014-05-17 浏览次数:21009 次
使用xmlhttp检测表单与数据库是否重复.
离开文本框,马上检测文本框的数据是否与数据库里面重复,如果重复就提示出来.
但我不会AJAX,所以想用XMLHTTP.但是不行,没反应.请教大家了.
<body>
<div id= "show_div " align= "center "> 正在进行验证,请等待…… </div>
<form name= "form1 " method= "post " action= " ">
<table border= "1 " cellspacing= "1 " cellpadding= "0 " align= "center ">
<tr>
<td width= "88 "> <b> 姓名: </b> </td>
<td width= "200 ">
<input type= "text " name= "FirstName " >
</td>
</tr>
<tr>
<td> <b> 用户ID: </b> </td>
<td> <input type= "text " name= "UserID " onBlur= "test_id(this.value) "> </td>
</tr>
</table>
<p align= "center ">
<input type= "submit " name= "Submit " value= "注册 " style= "font-size:9pt ">
<input type= "reset " name= "Submit2 " value= "填写 " style= "font-size:9pt ">
</p>
</form>
<SCRIPT LANGUAGE= "JavaScript ">
var userid, oXMLHTTP;
function test_id(suserid)
{
oXMLHTTP = new ActiveXObject( "Microsoft.XMLHTTP ");
userid = suserid;
var sURL = "http://localhost:8085/by/tempb.asp?userid= " + userid;
oXMLHTTP.onreadystatechange = managestatechange;
oXMLHTTP.open( "GET ", sURL, true);
try{
oXMLHTTP.send();
}
catch(e)
{
alert( "此时无法进行验证。 ");
document.form1.FirstName.focus();
}
}
function managestatechange(){
switch(oXMLHTTP.readyState)
{
case 2, 3:
document.all( "show_div ").style.display = "block ";
break;
case 4:
if(oXMLHTTP.responseText == "exists ")
alert( "很抱歉! User ID : " + userid + "已经存在。 ");
document.all( "show_div ").style.display = "none ";
break;
}
}
document.all( "show_div ").style.display = "none ";
</script>
</body>
tempb.asp (本来是调数据库的,但是方便测试,我就换了了这个)
<body>
<%
sUserID = Replace(Trim(Request.QueryString( "userid ")), " ' ", " ")
If sUserID = "aa " Then Response.Write "exists "
%>
</body>
------解决方案--------------------
function checkUsername()
{