1. 程式人生 > >註冊JQuery使用ajax呼叫後臺方法,判斷使用者名稱、郵箱是否存在,並顯示隱藏提示

註冊JQuery使用ajax呼叫後臺方法,判斷使用者名稱、郵箱是否存在,並顯示隱藏提示

JavaScript程式碼

        function existUserName(userName, reqUserName) {
            if (userName.val().length > 0) {
                $.ajax({
                    type: "POST",
                    url: window.location + "/ExistLoginId", //url格式為  要訪問的aspx頁面/方法名稱  
                    data: "{'id': '" + userName.val() + "'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    async: true,
                    success: function (data) {
                        if (data.d == "1") {
                            reqUserName.show();
                            return false;
                        } else {
                            return true;
                        }
                    }
                });
            }
        }
        function existMail(mail, reqMail) {
            if (mail.val().length > 0) {
                $.ajax({
                    type: "POST",
                    url: window.location + "/ExistMail", //url格式為  要訪問的aspx頁面/方法名稱  
                    data: "{'id': '" + mail.val() + "'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    async: true,
                    success: function (data) {
                        if (data.d == "1") {
                            reqMail.show();
                            return false;
                        } else {
                            return true;
                        }
                    }
                });
            }
        }
        $(function () {
            var userName = $("#txtUserName");
            var reqUserName = $("#reqUserName");
            var mail = $("#txtEmail");
            var reqMail = $("#reqMail");
            userName.blur(function () {
                existUserName(userName, reqUserName);
            }).focus(function () {
                reqUserName.hide();
            });
            mail.blur(function () {
                existMail(mail, reqMail)
            }).focus(function () {
                reqMail.hide();
            });           
        });

HTML程式碼

            <div class="form_row">
                <label class="contact"><strong>使用者名稱:</strong></label>
                <asp:TextBox runat="server" ID="txtUserName" CssClass="contact_input" ValidationGroup="reg" ClientIDMode="Static" />
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="使用者名稱必填" Text="*" ControlToValidate="txtUserName" ForeColor="Red" ValidationGroup="reg" Display="Dynamic"></asp:RequiredFieldValidator>
                <asp:RegularExpressionValidator ID="reqUserName1" ClientIDMode="Static" runat="server" ControlToValidate="txtUserName" Display="Dynamic" ErrorMessage="使用者名稱只能使用字母或者數字組合" ForeColor="Red" ValidationExpression="(\w+)|(\d+)|(\w+\d+)" ValidationGroup="reg"></asp:RegularExpressionValidator>
                <span id="reqUserName" style="color: Red; display: none">此使用者名稱已經被註冊了</span>
            </div>

            <div class="form_row">
                <label class="contact"><strong>郵箱地址:</strong></label>
                <asp:TextBox runat="server" ID="txtEmail" ClientIDMode="Static" CssClass="contact_input" ValidationGroup="reg" />
                <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="郵箱必填" Text="*" ControlToValidate="txtEmail" Display="Dynamic" ForeColor="Red" ValidationGroup="reg"></asp:RequiredFieldValidator>
                <asp:RegularExpressionValidator ID="reqMail1" ClientIDMode="Static" runat="server" ErrorMessage="郵箱格式不對" ControlToValidate="txtEmail" Display="Dynamic" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ForeColor="Red" ValidationGroup="reg"></asp:RegularExpressionValidator>
                <span id="reqMail" style="color: Red; display: none">此郵箱已經被註冊了</span>
            </div>

後臺.cs程式碼

        private bool CheckVCode()
        {
            string userCode = txtVCode.Text.Trim();
            if (Session["VCode"] != null)
            {
                string sysCode = Session["VCode"].ToString();
                if (String.Compare(userCode, sysCode, true) == 0)
                {
                    return true;
                }
                else
                {
                    JScript.Alert(this, "驗證碼輸入錯誤");
                }
            }
            else
            {
                JScript.Alert(this, "驗證碼過期");
            }
            return false;
        }

        protected void btRegister_Click(object sender, EventArgs e)
        {
            UsersBLL bll = new UsersBLL();
            UserInfo model = new UserInfo();
            if (!IsValid || !CheckVCode())
            {
                return;
            }
            if (ExistLoginId(txtUserName.Text.Trim()) == "1")
            {
                JScript.Alert("此使用者名稱已經被註冊過了!");
                return;
            }
            if (ExistMail(txtEmail.Text.Trim()) == "1")
            {
                JScript.Alert("此郵箱已經被註冊過了!");
                return;
            }
            model.LoginId = txtUserName.Text.Trim();
            model.LoginPwd = WebComm.MD5Str(txtPwd.Text.Trim());
            model.Mail = txtEmail.Text.Trim();
            model.Name = txtRealName.Text.Trim();
            model.Phone = txtPhone.Text.Trim();
            model.Address = txtAddress.Text.Trim();
            model.UserRoleId = 1;
            model.UserStateId = 1;
            if (bll.InsertUser(model))
            {
                Session["id"] = model.Id;
                Session["loginId"] = model.LoginId;
                Session["name"] = model.Name;
                JScript.AlertAndRedirect(this, "註冊成功!", "../Default.aspx");
            }
            else
            {
                JScript.Alert(this, "註冊失敗!");
            }
        }

        [WebMethod]
        public static string ExistLoginId(string id)
        {
            Bookshop.BLL.UsersBLL bll = new UsersBLL();
            return bll.ExistLoginId(id.Trim()) ? "1" : "0";
        }
        [WebMethod]
        public static string ExistMail(string id)
        {
            Bookshop.BLL.UsersBLL bll = new UsersBLL();
            return bll.ExistMail(id.Trim()) ? "1" : "0";
        }

相關推薦

註冊JQuery使用ajax呼叫後臺方法判斷使用者名稱郵箱是否存在顯示隱藏提示

JavaScript程式碼 function existUserName(userName, reqUserName) { if (userName.val().length > 0) { $.a

EXT.NET-gridpanel 行雙擊事件js帶引數呼叫後臺方法

1、js程式碼,寫在body裡面 [javascript]view plaincopy <script language="javascript" type="text/javascript">           function rowDbC

使用AjaxProjs呼叫後臺方法

在ajax應用中,有時會需要在前臺某個時刻呼叫後臺的方法,這可以藉助AjaxPro輕鬆實現。 1.到http://ajaxpro.info下載最新包。我下的是9[1].2.17.1版。裡面包含4個dll和一個xml。 2.在使用之前,需要新增AjaxPro.dll的引用,

ASP.NET 前臺js呼叫後臺方法並且區域性重新整理的方法

Asp.net前臺js呼叫後臺方法,並且區域性重新整理的方法。 (1) 前臺js程式碼:在需呼叫後臺程式碼的地方,書寫如下程式碼: PageMethods. houtai (latlng,myCallBack);//getBj54是後臺c#方法,latlng是實參

C#實現簡易ajax呼叫後臺方法

在當前WEB當中,有些人都會拋棄asp.net的伺服器控制元件,轉而使用ajax來進行資料的互動和儲存.   當我們大量使用ajax的時候,對於新手而言,肯定會建立很多的ashx或aspx頁面,通過拼接引數,在ashx或aspx中對引數進行解析,   並根據某些特定的引數進行解析來判斷當前的請求屬於哪種型

EL表示式呼叫後臺方法傳遞引數

嘗試獲取後臺物件中帶引數的get方法返回的屬性值時,發現 J2EE6 開始支援EL表示式帶引數的呼叫後臺方法。   語法格式為: ${物件名.方法名(引數)}; 注意此處的方法名是方法全名,EL表示式並不會幫我們自動按照屬性名進行首字母大寫並在開頭拼接get三個字元來尋

fastDFS+LibreOffice檔案下載(三):呼叫後臺方法下載和A標籤直接下載

注意: 1)A標籤直接下載無法修改檔名,但比較簡單。有些情況下,沒有download屬性也會自動下載。 <a href="http://檔案連結" download="">下載</a> 2)有按鈕的時候不要使用<button>,用<inpu

asp.net core 的 razor pages 如何使用ajax呼叫後臺方法

Razor 是一種允許您向網頁中嵌入基於伺服器的程式碼(Visual Basic 和 C#)的標記語法。 當網頁被寫入瀏覽器時,基於伺服器的程式碼能夠建立動態內容。 在網頁載入時,伺服器在向瀏覽器返回頁面之前,會執行頁面內的基於伺服器程式碼。 由於是在伺服器上執行,這種程式碼能執行復雜的任務,比如訪問資

fastDFS+LibreOffice(三):呼叫後臺方法下載和A標籤直接下載

注意: 1)A標籤直接下載無法修改檔名,但比較簡單。有些情況下,沒有download屬性也會自動下載。 <a href="http://檔案連結" download="">下載</

前臺頁面ajax非同步呼叫後臺方法

$.ajax({                     //要用post方式                           type: "post",                     //方法所在頁面和方法名                           url: "login.aspx

jQuery之非同步Ajax請求使用 通過傳遞引數來呼叫後臺方法返回狀態

$.ajax({type:'',data:'',async:''...})  引數: 1.cache: true快取頁面 false 不快取頁面 (預設: true,dataType為script和jsonp時預設為false) 1.type:  GET /POST 請求方式 ("POST" 或 "GET"

js前臺呼叫後臺方法方法呼叫篇)

  首先是沒有引數的後臺方法(該方法是載入客戶端下來選單控制元件): public string GetRole() { string result = ""; DataSet ds = a.SelectRole("");

Asp.net中ajax呼叫後臺方法

1、有引數的方法呼叫 示例程式碼如下: 前臺jQuery程式碼: $(function() {    var browers = browersEstimate();    var params = '{browersType:"' + browers + '"}';    $.ajax({     

JavaScript 呼叫後臺方法及變數

  一,後臺方法: protected string CsharpVoid(string strCC) { return strCC; } javascript 呼叫 <script   language="javascript">    var s = "&l

js呼叫web服務的介面和呼叫後臺方法

default.aspx前臺程式碼: <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register

Python基礎課:定義一個函數輸入一個序列判斷序列是順序還是逆序順序輸出UP逆序輸出DOWN否則輸出None

逆序 python基礎 ted == sorted fun spa span def 1 def fun(arg): 2 try: 3 li = list(arg) 4 if(sorted(li)==li): 5

Java 判斷資料夾檔案是否存在不存在則建立

1、判斷檔案是否存在,不存在建立檔案 File file=new File("C:\\Users\\QPING\\Desktop\\JavaScript\\2.htm"); if(!file.exists()) { try { file.c

輸入任意一個字串判斷這個字串是否是迴文迴文示例: 上海自來水來自海上

2.輸入任意一個字串,判斷這個字串是否是迴文 迴文示例: 上海自來水來自海上 ABCCBA 12321 迴文是指中心對稱的文字 #方法1 str = input('請輸入一個字串:') count = 0 lenth = len(str) print('lenth',

輸入一個整數判斷其是否是迴文數迴文數是指這個數顛倒後和原數相同那個。

1 public static void main(String[] args) { 2 System.out.println("請輸入一個整數:"); 3 Scanner input = new Scanner(System.in); 4 int

從撲克牌中隨機抽5張排判斷是不是一個順子即這5張牌是不是連續的。2~10為數字本身A為 1J為11Q為12K為13而大小王可以看成任意數字。

#define  _CRT_SECURE_NO_WARNINGS   #include<stdio.h>   #include<math.h.>   #include<assert.h>   #define n 5   int main()   {