ASP+ajax完美实现用户表单检测和注册

本文介绍了如何使用ASP和AJAX技术来实现用户表单的实时检测和注册功能,包括详细的JS代码解释、页面布局、随机验证码生成以及核心的saveuser.asp和checkuser.asp处理页面。
摘要由CSDN通过智能技术生成

之前我在自己网上(http://www.duku123.com)上发布过一篇这样的贴子,后来有朋友找我,说我的那篇文章里的效果比较简单而且需要的字段太少,不知道单选及cookies该如何弄,这里我重新发一篇最近新做的代码.带详细讲解,希望对各位朋友有帮助

程序运行截图

先说JS代码

<script language="javascript" type="text/javascript">
<!--
var msg ;
var li_ok='images/li_ok.gif';  //用于显示正确的图标
var li_err='images/li_err.gif' //用于显示错误时的图标
var bname_m=false;
msg=new Array(
 "请输入4-20位字符,英文、数字的组合。",
 "请输入6位以上字符,不允许空格。",
 "请重复输入上面的密码。",
 "请输入您的真实姓名",
 "请输入电话号码",
 "请输入电子邮箱",
 "请输入左边的验证码",
 "您必须同意注册条款"
 )
//定义一个消息数组,用于显示提示信息
var xmlHttp = false;
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}
//建立xmlhttp实现浏览器的兼容 
 function show(){
  if (document.getElementById("country").value=="China"){
  document.getElementById("probince").style.display=""
  }else
  {
  document.getElementById("probince").style.display="none"
  }
 }
 //显示隐藏的国家信息对应的地区信息
 function GetCookie(sName)
{
  // cookies are separated by semicolons
  var aCookie = document.cookie.split("; ");
  for (var i=0; i < aCookie.length; i++)
  {
    // a name/value pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0])
      return unescape(aCrumb[1]);
  }
  // a cookie with the requested name does not exist
  return null;
}
 //用JS读取cookies
 function on_input(objname){
 var strtxt;
 var obj=document.getElementById(objname);
 //obj.className="d_on";
 //alert(objname);
 switch (objname){
  case "d_username":
   strtxt=msg[0];
   break;
     case "d_pass":
   strtxt=msg[1];
   break;
  case "d_pass2":
   strtxt=msg[2];
   break;
  case "d_truename":
   strtxt=msg[3];
   break;
  case "d_phone":
   strtxt=msg[4];
   break;
  case "d_email":
   strtxt=msg[5];
   break;
  case "d_code":
   strtxt=msg[6];
   break;
 }
 obj.innerHTML=strtxt;
}
//做鼠标放文框时的提示信息
    function callServer() {
  var u_name = document.getElementById("user_name").value;
  if ((u_name == null) || (u_name == "")||(u_name.length<4)||(u_name.length>20)) {
        d_username.className="d_err";
  d_username.innerHTML=msg[0];
  chk=false
   return chk;};
    xmlHttp.open("POST", "user/checkuser.asp", true);
 xmlHttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
 xmlHttp.onreadystatechange = updatePage;
 xmlHttp.send("username="+escape(u_name)); 
}

function updatePage() {
  if (xmlHttp.readyState < 4) {
    d_username.innerHTML="loading...";
  }
  if (xmlHttp.readyState == 4 && 200==xmlHttp.status) {
    var response = xmlHttp.responseText;
   if (response==1)
   {
     d_username.className="d_ok";
  d_username.innerHTML='恭喜用户名可以使用。';
      }
      else{
    d_username.className="d_err";
   d_username.innerHTML="用户名已占用,请重新注册";
      }
  }
  }
  //检测用户名是否可用
  function  out_pass(){
   var obj=document.getElementById("d_pass");
 var str=document.getElementById("password").value;
 var chk=true;
 if (str=='' || str.length<6 || str.length>18){chk=false;}
 if (chk){
  obj.className="d_ok";
  obj.innerHTML='密码已经输入。';
 }else{
  obj.className="d_err";
  obj.innerHTML=msg[1];
 }
 return chk;
  }
  //检查密码是否输入
  function  out_pass2(){
   var obj=document.getElementById("d_pass2");
 var str=document.getElementById("password2").value;
 var chk=true;
 if (str=='' || str!=document.getElementById("password").value){chk=false;}
 if (chk){
  obj.className="d_ok&#

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值