jquery实现注册时异步检测用户名是否存在

双休在宿舍,把以前下载的一些教程翻来看看,代码都很简单,适合入门的朋友,而我只是在这里做个记录,分享给大家!


第一步:放置一个Textbox控件,写上onBlur事件,在VS中可能会提示这个事件错误,这是因为Textbox控件没有这个事件,但是这并不妨碍,参数this.value是输入到文本框中的值。


  <asp:TextBox ID="txtName" runat="server" onBlur="CheckName(this.value);"></asp:TextBox>
 <span id="mesUserName">*</span>


第二步:编写JavaScript代码

也就是onBlur的触发事件,$符号为Jquery的语法,所以,要在<head></head>中引入Jquery文件才可以使用;

这个函数的重点应该是使用$.get 方法,第一个参数为URL(要发生的URL地址)第二个参数为回调函数,什么是回调函数呢?就是执行这个操作以后会触发的事件,回调函数中的(data)参数,是后台一般处理应用程序执行完返回的值,也就是第三步中context.response("false");中的值

&t=" + new Date().valueOf() 这句的意思是参数中带上时间,主要是防止IE中的产生的缓存而造成一般处理应用程序获取name参数错误

    function CheckName(userName) {
         if ($.trim(userName).length == 0) {
             $("#mesUserName").html("请输入用户名");
             return;
         }
         var url = "handler/CheckUserName.ashx?name=" + userName + "&t=" + new Date().valueOf();
         $.get(url, function(data) {
             if (data == "false") {
                 $("#mesUserName").html("用户名已存在");
             }
             else {
                 $("#mesUserName").html("用户名可用");
             }
         })
     }
 

第三步:编写一般处理应用程序

新建一个CheckUserName的一般处理应用程序,文件后缀名为ashx

在一般处理应用程序中,reponse输出要使用上下文,所以,应该写成这样子context.response ,request同理,代码其实都很简单,主要是对这个Jquery异步作个记录

  public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string name = context.Request.QueryString["name"];
            if (string.IsNullOrEmpty(name))
            {
                context.Response.Write("false");
                context.Response.End();
            }
            if (new Shop.DAL.UserDAO().Exists(name))
            {
                context.Response.Write("false");
                context.Response.End();
            }
            else
            {
                context.Response.Write("true");
                context.Response.End();
            }
            context.Response.Write("Hello World");
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值