AJAX+JavaScript無重新整理檢查使用者名稱

來源:互聯網
上載者:User

AJAX+JavaScript無重新整理檢查使用者名稱是否可用2009-04-20 16:26   JavaScript 和 Ajax 代碼
<script language="javascript" type="text/javascript">
var xmlHttp = null;
        function createXMLHttp()
        {
            if(window.ActiveXObject)
                {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
            else if(window.XMLHttpRequest)
                {
                    xmlHttp = new XMLHttpRequest();
                }
        }
        function checka()
        {
            createXMLHttp();              
            var txtName=document.getElementById("txt_name"); // 擷取輸入使用者名稱控制項
            var labName=document.getElementById("lab_name"); // 顯示提示資訊的控制項
   // 判斷使用者名稱格式和長度(只能是數字和字母組合)
   // 錯誤情況一
                if(!txtName.value.match(/^[a-zA-Z0-9]+$/) && txtName.value.length < 5 || txtName.value.length >16)
                    {  
                      labName.style.color="#cc0000";
                      labName.value="請輸入6-12位使用者名稱,只能由數字字母組合。";
                      return false;
                        }else
    // 正確
                      if(txtName.value.length > 5 && txtName.value.length <17 && txtName.value.match(/^[a-zA-Z0-9]+$/))
                      {               
                            labName.style.color="#0000ff";
                            var url = "CheckName.aspx?userName="+txtName.value;
                            xmlHttp.open("post",url,true);
                            xmlHttp.onreadystatechange = sub;
                            xmlHttp.send(null);
                      }
    // 錯誤情況二
    else
                      {
                        labName.style.color="#cc0000";
                        labName.value="請輸入6-12位使用者名稱,只能由數字字母組合。";   
                        return false;       
                      }
               
        }
        function sub()
        {
            if(xmlHttp.readyState==4)
            {
                if(xmlHttp.status==200)
                {
                    document.getElementById("lab_name").value=xmlHttp.responseText;
                }
            }
        }

</script>

HTML 頁面控制項以及方法調用
// onfocus 擷取到游標事件 onblur 游標離開時候事件
<asp:TextBox ID="txt_name" runat="server" CssClass="t_txt" onfocus="checkName();" onblur="checka();"></asp:TextBox>
// 我用的 TextBox ,相容 IE 和 Firefox 樣式
<asp:TextBox ID="lab_name" runat="server" Width="300px" style="border-top-style:none; border-width:0px; border-left-style:none; border-bottom-style:none; border-right-style:none;" ReadOnly="true"></asp:TextBox>

建立一張頁面具體資料操作

SQL 串連以及語句略……

新頁面 方法
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (CheckNames(Request.QueryString["userName"]) == true)
                {
                    Response.Write("對不起,該使用者名稱已被佔用!");
                }
                else
                {
                    Response.Write("恭喜,該使用者名稱可以使用!");
                }
            }

        }

private bool CheckNames(string userName)
        {
            // 建立一個資料集
            DataSet ds = new DataSet();
            // 執行個體化模型層
            ZYB_UserLogin uiModel = new ZYB_UserLogin();
            // 封裝資料
            uiModel.UNL_UserLoginName = userName;
            // 執行個體化業務層
            UserLoginBLL uiBll = new UserLoginBLL();
            try
            {
                // 調用業務層的檢查使用者名稱方法
                ds = uiBll.SelectNameCheck(uiModel);
                // 判斷是否有資料
                if (ds.Tables[0].Rows.Count < 1)
                {
                    // 沒有代表可用                                      
                    return false;
                }
                else
                {
                    // 不可用                   
                    return true;
                }
            }
            catch (Exception ex)
            {
                // 拋出異常
                throw ex;
            }
        }

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.