当前位置: 代码迷 >> Ajax >> 验证用户名是否在数据库中已存在()
  详细解决方案

验证用户名是否在数据库中已存在()

热度:676   发布时间:2014-01-03 14:10:51.0
验证用户名是否在数据库中已存在(求助)
本帖最后由 cross2010_0 于 2013-12-26 21:21:00 编辑
表单提交的页面index.asp

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>测试-验证用户名是否重复</title>
<script type="text/javascript"> 
 function yanzheng_zhuce(){
 var tmpusername=document.zhuce.username.value
 if(tmpusername=="")
  {
   alert("不能为空")
   return false
  }
 else
var url="check.asp?username=" + escape(tmpusername)+"&sid="+Math.random();
  xmlHttp.onreadystatechange = processSet;
  xmlHttp.open("GET", url, true);
  xmlHttp.send();
}
function processSet(){
 if (xmlHttp.readyState == 4) {
  if (xmlHttp.status == 200) {
  ……
  ……
  ……
  alert("用户名重复");
  }
 }
}
}
</script>
</head>

<body>
<form name="zhuce" action="" method="post" onsubmit="return yanzheng_zhuce()">
<input type="text" name="username" /><input type="submit" value="提交" />
</form>
</body>

</html>



中间的省略号……部分我就不会写了,另外这个check.asp页面是不是这样写?
<!--#include file="conn.asp"-->
<%
 dim tmpname
 username=request("username")
 set rs=server.createobject("adodb.recordset")
 sql="select * from usermsg where username='"&username&"'"
 rs.open sql,conn,1,1
 if not rs.eof then
 tmpname="1"
 else
 tmpname="0"
 end if
%>

我是不是要把tmpname返回到index.asp页面中的省略号部分进行判断,如果是1就alert("用户名重复"),可是这段省略号部分和check.asp的代码我不会写。呵呵。才开始学,请大伙帮帮忙,谢谢了!

------解决方案--------------------
<script type="text/javascript">
var xmlHttp
function createXMLHttp(){
    if(window.ActiveXObject){
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest){
        xmlHttp = new XMLHttpRequest();
    }

 function yanzheng_username(){
 createXMLHttp();
 var tmpusername=document.zhuce.username.value
 if(tmpusername=="")
  {
   document.getElementById("span1").innerHTML="不能为空"
  }
 else{
  var url="server.asp?username=" + tmpusername;
  xmlHttp.onreadystatechange = processSet;
  xmlHttp.open("GET", url, true);
  xmlHttp.send();
}
function processSet(){
 if (xmlHttp.readyState == 4) {
  if (xmlHttp.status == 200) {
   if (xmlHttp.responseText == '1') {
  document.getElementById("span1").innerHTML="重复数据"
  }
  if (xmlHttp.responseText == '0') {
  document.getElementById("span1").innerHTML="正确"
      }
     }
    }
   }
  }
function check(f){//return false阻止表单提交
  if(f.username.value==''){alert('用户名不能为空!');f.username.focus();return false;}
//有其他验证的继续
if(document.getElementById("span1").innerHTML!="正确"){alert('用户名错误或者正在验证中。。');return false;}
}

</script>
<form name="zhuce" action="yanzheng.asp" method="post" onsubmit="return check(this)" />
<p><input type="text" name="username" id="username" onBlur="yanzheng_username()" /><span id="span1"></span></p>
<p><input type="submit" value="提交" /></p>
</form>


楼主去学下基础的dhtml了,这些这么基础的
  相关解决方案