jquery $.ajax 檢測使用者名稱是否存在

來源:互聯網
上載者:User

在很多時候我們為了提搞使用者體驗得讓使用者感覺好,今天我們提供一款jquery $.ajax 檢測使用者名稱是否存在哦,就是提供驗證使用者要註冊使用者名稱是否可用,這個功能還必須由ajax來實現,下面提供二款jquery ajax 檢測使用者名稱執行個體。

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
    <title>jquery $.ajax 檢測使用者名稱是否存在</title>
    <script  language ="網頁特效" src ="jquery-1.3.2.min.js" type ="text/javascript" ></script>
    <script language ="javascript" src ="validator.js" type ="text/javascript" ></script>
    <link type ="text/css教程" rel="stylesheet" href ="validator.css" />
</head>
<body>
    <div>
        使用者名稱:<input id="txtname" type="text" class ="txtname" />
        <div  id ="result"></div>
    </div>
</body>
</html>

接下來就是js了,各位可以自己在網上下載jquery-1.3.2.min.js類庫,我在這裡就不提供了。

建立validator.js,代碼如下:

$(function() {
    var txtname = $("#txtname");
    //輸入文字時文字框樣式
    txtname.keyup(function() {
        var name = $(this).val();
        if (name == "")
            $(this).addclass("txtname");
        else $(this).removeclass("txtname");
    })
    //失去焦點時驗證使用者名稱是否可用
    $("#txtname").blur(function() {
        var name = $(this).val();
        $.get("thylx.asp教程x?name=" + name, null, function(response) {
            $("#result").html(response);
        })

    })
})

呵呵,就是怎麼幾行代碼,比js好用多了~~

最後是建立thylx.aspx,thylx.aspx.cs代碼如下:(這裡aspx頁面不用編輯,我們只是用來做資料操作而已,)

protected void page_load(object sender, eventargs e)
    {
        string name = request.querystring["name"].tostring();
        if (name == "thylx")
            response.write("該使用者名稱已經存在!");
        else
            response.write("該使用者名稱可以使用!");
    }

 

下面再看一款式jquery.validate和ajax來驗證使用者重複
jquery.validate上,無疑,jquery.validate是一個功能強大的form驗證外掛程式。
但在不熟悉的情況下,很難靈活的使用它。下面我就說說我在使用他的過程中遇到的問題。
我想實現的功能是(簡單的就不說了):使用jquery.validate來驗證使用者是否已經註冊,如果已經註冊就及時進行提示。如果你看到這裡(前提是你對jquery.validate熟悉)

$("#myform").validate({   
   rules: {   
     username: {   
       required: true,   
       remote: "check_user.php教程"  
     }   
   }   
});  

想在使用jquery.validate進行用戶端驗證的時候,也要顯示這樣的提示資訊。

remote1: function(value, element, param) {   
    if ( this.optional(element) )   
        return "dependency-mismatch";   
       
    var previous = this.previousvalue(element);   
       
    if (!this.settings.messages[element.name] )   
        this.settings.messages[element.name] = {};   
    this.settings.messages[element.name].remote1 = typeof previous.message == "function" ? previous.message(value) : previous.message;   
       
     param = typeof param == "string" && {url:param} || param;   
       
    if ( previous.old !== value ) {   
         previous.old = value;   
        var validator = this;   
        this.startrequest(element);   
        var data = {};   
         data[element.name] = value;   
         $.ajax($.extend(true, {   
             url: param,   
             mode: "abort",   
             port: "validate" + element.name,   
             datatype: "json",   
             data: data,   
             success: function(response) {   
                // 這裡是主要修改的地方,我以json的方式返回了一組資料   
                // response.data:資料   
                // response.msg:返回的資訊   
                // response.status:返回的狀態   
                var valid = response.status;   
                if ( valid ) {   
                    var submitted = validator.formsubmitted;   
                     validator.prepareelement(element);   
                     validator.formsubmitted = submitted;   
                     validator.successlist.push(element);   
                     validator.showerrors();   
                 } else {   
                    var errors = {};   
                    // 把response.msg作為其錯誤資訊   
                     errors[element.name] = previous.message = response.info;   
                     validator.showerrors(errors);   
                 }   
                 previous.valid = valid;   
                 validator.stoprequest(element, valid);   
             }   
         }, param));   
        return "pending";   
     } else if( this.pending[element.name] ) {   
        return "pending";   
     }   
    return previous.valid;   
}  

驗證規則的時候是這樣寫的:

rules: {   
     txt_username: {   
         remote1:{   
             url: "/uc_app/index.php",   
             type: 'post',   
             data: {   
                 act:'chkuser',   
                 uid: function(){return $("#txt_username").val();}   
             }   
         },   
         required: true,   
         minlength: 3,   
         maxlength: 10   
     }   
}  
相關文章

聯繫我們

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