ajax 檢測使用者名稱是否被佔用

來源:互聯網
上載者:User
ajax

//檢測使用者名稱是否被佔用
function GetO(){
    var ajax=false;
    try {
     ajax = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
      ajax = new ActiveXObject("Microsoft.XMLHTTP");
     } catch (E) {
      ajax = false;
     }
    }
    if (!ajax && typeof XMLHttpRequest!='undefined') {
     ajax = new XMLHttpRequest();
    }
    return ajax;
}

function getResult(serverPage) {

 var ajax = GetO();

  var sep = (-1 < serverPage.indexOf("?")) ? "&" : "?"
  var newurl = serverPage + sep + "__=" + encodeURIComponent((new Date()).toString());
  ajax.open("GET", newurl, true);
  ajax.onreadystatechange = function() {
        if (ajax.readyState == 4 && ajax.status == 200) {

   if(ajax.responseText==1){
    ShowResult(1,"您的使用者名稱可以正常註冊")
    AjaxResult=true;
   }else{
    ShowResult(0,"您的使用者名稱被佔用了")
    AjaxResult=false;
   }
        }
    }
    ajax.send(null);
}
function chkUsername(){
 var sflag;//標記;
 var sErr;//錯誤資訊;
 sflag=true;
 var re=/^\w{2,20}$/;
 if(!re.test(document.Form1.UserName.value)){
  sflag=false;
  sErr="使用者名稱只能輸入字母、數字或底線";
 }
 if (document.Form1.UserName.value.length>20||document.Form1.UserName.value.length<2){
  sflag=false;
  sErr="使用者名稱長度必須在2~20個字元之間";
 }
 if (document.Form1.UserName.value=="" ){
  sErr="使用者名稱不可為空";
  sflag=false;
 }

 //ajax檢測返回結果
 if (!sflag) {
  ShowResult(0,sErr)
 }else{
  getResult("../MemberCheck.aspx?t=1&Name=" + document.Form1.UserName.value);
 }
 //document.getElementById("spname").innerHTML=ss;
}
function ShowResult(tag,str){
 var obj = document.getElementById("spname");
 if(tag==0){
  obj.style.border="1px solid red";
  obj.style.color="red";
 }else{
  obj.style.border="1px solid green";
  obj.style.color="green";
 }
  obj.innerHTML=str;
  obj.style.padding="1px";
}

//取ajax返回的使用者問題值

function getQuestionData(sPage){
 var ajax = GetO();
  var sep = (-1 < sPage.indexOf("?")) ? "&" : "?"
  var newurl = sPage + sep + "__=" + encodeURIComponent((new Date()).toString());
  ajax.open("GET", newurl, true);
  ajax.onreadystatechange = function() {
        if (ajax.readyState == 4 && ajax.status == 200) {

   if(ajax.responseText==""){
    document.getElementById("getstate").innerHTML="使用者不存在!"
   }
   else{
    document.g.Question.value=ajax.responseText;
    document.g.Question.readOnly=true;
    document.getElementById("getpwdstep1").style.display="none";
    document.getElementById("getpwdstep2").style.display="block";
    document.getElementById("getstate").innerHTML="";
   }
        }
    }
    ajax.send(null);
}
function getUserQ(){
 //改變報錯span的顯示樣式
 document.getElementById("getstate").style.padding="1px 4px";
 if (document.g.UserName.value==""){
  document.getElementById("getstate").innerHTML="使用者名稱不可為空!"
 }else{
  document.getElementById("getstate").style.background="red";
  document.getElementById("getstate").style.color="white";
  document.getElementById("getstate").innerHTML="正在載入資料...";
  //設定ajax
  getQuestionData("../MemberCheck.aspx?t=2&gName=" + document.g.UserName.value);
 }
}


function login(n,p,t)
{
 if(t==false){
  document.getElementById("pLogin").style.display="none";
  document.getElementById("LoginInfo").innerHTML="正在幫您登入,請稍等...";
 }
 var request;
 if(undefined == request){
  request = new Request();
 }
 if(undefined == request._get){
  //不支援Ajax擷取資料;
  if(t==false){
   document.getElementById("pLogin").style.display="";
   document.getElementById("LoginInfo").innerHTML="不能擷取資料";
  }
 }
 else{
  userName=n;
  toPrev=t;
  request.GetNoCache(loginPath + "LoginCheck.aspx" + "?n=" + n + "&p=" + p,loginCheck);
 }
}

function loginCheck(result)
{
 if (result.readyState!=ReadyState.Complete)
  return;

 //成功擷取;    
 if (result.status==HttpStatus.OK && result.responseText != "")
 {
  //執行返回的語句;
  //alert(result.responseText);
  if (result.responseText=='1')
  {
   if(toPrev ==false){
    document.getElementById("LoginInfo").innerHTML='<ul><li>歡迎' + userName + '</li><li><a href="' + loginPath + 'member/">管理</a></li><li><a href="' + loginPath + 'Logout.aspx">退出</a></li></ul>';
   }
   else{
    if(UrlPrev != ''){
     document.location.href=UrlPrev;
    }
    else{
     document.location.href=loginPath;
    }
   }
   return;
  }
  else
  {
   if(document.location.href !="http://" + document.location.hostname + loginPath + "Member/Login.aspx")
    document.location.href=loginPath + "Member/Login.aspx";
  }
 }
 else
 {
  //失敗;
  document.location.href=loginPath + "Member/Login.aspx";
  return;
 }
}

function checkKey(caputureKey,n,p,t){
 var key = window.event.keyCode;
 if(key == caputureKey){
  login(n,p,t);
 }
}

function setLoginInfo(bLogin){
 if(bLogin){
  document.getElementById("LoginInfo").innerHTML='<ul><li>歡迎' + userName + '</li><li><a href="' + loginPath + 'member/">管理</a></li><li><a href="' + loginPath + 'Logout.aspx">退出</a></li></ul>';
 }
 else{
 }
}

function gotoUrl(s){
 window.location.href=loginPath + 'Member/RegUser.html';
}



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.