注册经典例子


<script type="text/javascript">

  var xmlHttp;
  var valFlg = true; //是否为空
  var nameFlg = true; //是否存在name
  var mailFlg = true; //是否存在email
 
  function createXMLHttpRequest(){
   if(window.XMLHttpRequest){ //Mozilla浏览器
      xmlHttp = new XMLHttpRequest();
      if(xmlHttp.overrideMimeType){ //设置MiMe类别(有些版本的Mozilla浏览器处理服务器返回的未包含XML

mime-type头部信息的内容时会出错。因此,要确保返回的内容包含text/xml信息:
        xmlHttp.overrideMimeType("text/xml");
      }
   }else if(window.ActiveXObject){  //IE浏览器
       try{
         xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
       }catch(e){
         try{
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
         }catch(e){}
       }
   }
   if(!xmlHttp){
    alert("不能创建XMLHttpRequest对象");
   }
  }
 
  function createQueryString(){
   var queryString = "";
   var name = document.getElementById("name").value;
   var password = document.getElementById("password").value;
   var email = document.getElementById("email").value;
   queryString = "name="+name+"&password="+password+"&email="+email;
   return queryString;
  }
 
  function sendRgeRequest(){
   var str = createQueryString();
   createXMLHttpRequest();
   xmlHttp.onreadystatechange = registCallback;
   url = "http://localhost:8086/AjaxAddressBook/registPerson?type=regist";
   xmlHttp.open("POST",url,true);
   xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
   xmlHttp.send(str);
  }
 
  function registCallback(){
   if(xmlHttp.readyState == 4){
    if(xmlHttp.status == 200){
     document.getElementById("result").innerHTML="恭喜您,注册成功";
    }
   }
  }
 
  function validateName(obj){
   if(obj.value.length == 0){
    obj.nextSibling.innerHTML="用户名不能为空";
    return;
   }else{
    obj.nextSibling.innerHTML="";
   }
   msg = obj;
   createXMLHttpRequest();
   xmlHttp.onreadystatechange=validateCallBackHandle;
   var url = "http://localhost:8086/AjaxAddressBook/registPerson?type=validate";
   xmlHttp.open("POST",url,true);
   xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
   xmlHttp.send("name="+obj.value);
  }
 
 
  function validateEmail(email){
   alert(email.value);
   var re = RegExp("^([a-z]|[A-Z]){1}([a-z]|[A-Z]|\.|[0-9]|-|_){0,20}@([a-z]|[A-Z]|[0-9]|-|_){0,20}\.

([a-z]|[A-Z]){2,3}(\.([a-z]|[A-Z]){2}){0,1}$");
   if(email.value.length == 0){
    email.nextSibling.innerHTML = "Email不能为空";
    return;
   }else if(!re.test(email.value)){
    email.nextSibling.innerHTML = "Email格式不正确";
    mailFlg = false;
    return;
   }else{
    email.nextSibling.innerHTML = "";
    mailFlg = true;
    return;
   }
  }
 
  function validateCallBackHandle(){
   if(xmlHttp.readyState == 4){
    if(xmlHttp.status == 200){
     var result = xmlHttp.responseText;
     alert(result.length);
     msg.nextSibling.innerHTML = result;
     if(result.length != 0){
      nameFlg = false;  //如果返回信息不为空,则说明用户已经存在.不能提交
     }else{
      nameFlg = true;
     }
    }
   }
  }
 
  function validateBlank(idList,vaList){
   var inputList = document.getElementsByTagName("input");
   for(var i = 0; i < (inputList.length - 2); i ++){
    if(inputList[i].value.length == 0 && inputList[i].id == idList[i]){
         inputList[i].nextSibling.innerHTML = vaList[i];
         valFlg = false; //如果有一个为空,则不能提交
         return;
    }else{
     valFlg = true;
    }
   }
  }
 
  function destoryVar(){
   nameFlg = null;
   valFlg = null;
   mailFlg = null;
  }
 
  function subForm(){
   var idList = ["name","password","email"];
   var vaList = ["用户名不能为空","密码不能为空","E-mail不能为空"];
   validateBlank(idList,vaList);
   alert(nameFlg);
   alert(mailFlg);
   alert(valFlg);
   if(valFlg && mailFlg && nameFlg){ //如果都验证不为空,则进行注册,验证姓名存在,也不能注册,Email格式

不正确也不能注册
    sendRgeRequest();
    destoryVar();
    return true;
   }else{
    return false;
   }
  }
 
 </script>
  </head>
 
  <body>
  <center>
  <h2 align="center" style="margin-bottom: 30px;">用户注册</h2>
  <form action="http://www.hao123.com" style="width: 400px; background-color: gray; " onsubmit="return

subForm();" method="post" enctype="application/x-www-form-urlencoded">
 <table align="center" style="background-color: gray;">
  <tr>
   <td align="left" width="19%">用户名:</td>
   <td width="*"><input type="text" name="name" id="name" onblur="return validateName(this);"/><span

style="color: red; font-size: 13px; margin-left: 10px;"></span></td>
  </tr>
  <tr>
   <td>密&nbsp;&nbsp;码:</td>
   <td><input type="password" name="password" id="password"/><span style="color: red; font-size: 13px;

margin-left: 10px;"></span></td>
  </tr>
  <tr>
   <td>E-mail:</td>
   <td><input type="text" name="email" id="email" onblur="return validateEmail(this);"/><span

style="color: red; font-size: 13px; margin-left: 10px;"></span></td>
  </tr>
  <tr>
   <td><input type="submit" value="提交"/><input type="reset" value="重置"/></td>
   <td></td>
  </tr>
 </table>
  </form>
  <div id="result" style="color: red;"></div>
  </center>

posted @ 2009-04-02 21:40  DELPHI&.NET初学者[TECSOON WENDAY]  阅读(212)  评论(0编辑  收藏  举报