AJAX+JavaScript无刷新检查用户名

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" οnfοcus="checkName();" οnblur="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;
            }
        }

 

转载于:https://www.cnblogs.com/liufei88866/archive/2009/11/10/1599883.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cisco路由器密码恢复

Cisco路由器密码恢复1、必需先用终端方式接CONSOLE口&#xff0c;进入终端状态&#xff1b;2、开路由器电源&#xff1b;3、在60秒内&#xff0c;按Ctrl Break键&#xff0c;中断路由器的启动进程&#xff0c;使其进入ROM监控模式&#xff0c;提示符为"rommon >"或…

看电影的第一大禁忌 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅&#xff08;图源网络&#xff0c;侵权删&#xff09;

C++经典面试题

1、int a5&#xff0c;则 (a)的值是&#xff08;&#xff09; A、5 B、 6 C、7 D、逻辑错误a返回的是一个暂时变量&#xff0c;这里是右值&#xff0c;不能再前面了2、以下的代码输出什么&#xff1f;&#xff08;取地址运算符比运算符的优先级要高&…

求职华为,被问观察者模式,从没有这种体验!!!

求职华为&#xff0c;被问观察者模式&#xff0c;从没有这种体验&#xff01;&#xff01;&#xff01;模式的定义与特点模式的结构与实现1. 模式的结构2. 模式的实现模式的应用实例模式的应用场景模式的扩展1. Observable类2. Observer 接口[ 观察者模式可以说是非常贴近我们…

SQL2005的配置

最近迷上c#&#xff0c;下午装好了SQL server management studio Express 附加经典的northwind数据库 然后用下面一段代码测试 1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;4usingSystem.Data;5usingSystem.Data.Sql;6usingSystem.Data.SqlClient;78name…

为什么应该用record来定义DTO(续)

前言上次&#xff0c;我们介绍了因为DTO的“不变性”&#xff0c;应该用record来定义DTO。今天&#xff0c;我们来说明用record来定义DTO的另一个好处。问题首先&#xff0c;我们实现一个Controler&#xff0c;代码如下:[ApiController] [Route("[controller]")] pub…

字节、编码、字符、字符集 专题

1.2 字符&#xff0c;字节&#xff0c;字符串 理解编码的关键&#xff0c;是要把字符的概念和字节的概念理解准确。这两个概念容易混淆&#xff0c;我们在此做一下区分&#xff1a; 概念描述举例字符人们使用的记号&#xff0c;抽象意义上的一个符号。1, 中, a, $, &#xffe5…

资料分享 | 数学建模竞赛备战大全

全世界只有3.14 % 的人关注了青少年数学之旅目前针对数学建模的认知&#xff0c;绝大部分人还停留在数学建模竞赛阶段&#xff0c;并不知道数学建模是数据领域非常重要的一种方法。数学建模涉及的内容广泛&#xff0c;比如碎纸片问题中所涉及的图像识别及神经网络、小区开放问题…

TC的文件拷贝/移动

在EX当中&#xff0c;我们比较常用的拷贝/移动文件/目录的方式就是先进行文件/目录定位&#xff0c;然后按CtrlC,Ctrlx&#xff0c;然后在移动到目标目录&#xff0c;再按Ctrlv&#xff0c;通过拷贝/剪切和粘贴的方式进行。文件在拷贝/过程当中只有一个对话框显示当前进度&…

初级Java开发工程师!绝密文档,面试手册全面突击!!!秋招已经到来

这里我要明说一下&#xff0c;不是Java初级和学习Java的千万不要乱看&#xff0c;否则~~~~ 你会怀疑人生&#xff0c;因为会浪费你时间啊&#xff01;&#xff01;&#xff01; 本次考点是Java初级开发工程师面试必备的一些东西!!! 1、数据类型 基本类型 byte/8、short/16、…

数学2600年,欧拉凭什么能当上“大王”?

全世界只有3.14 % 的人关注了青少年数学之旅何为数学&#xff1f;♠音乐家说&#xff0c;数学是世界上最和谐动听的音符♥植物学家说&#xff0c;世界上没有比数学更美的花朵♣美学家说&#xff0c;哪里有数学&#xff0c;哪里才有真正的美♦哲学家说&#xff0c;世界什么都在变…

NET流行高性能JSON框架-Json.NET

在日常编程中经常会使用到Json来进行数据的交互好在.Net平台下有很多开源的Json库使得我们能够比较轻松快速的处理各种复杂的Json&#xff0c;其中Newtonsoft库是NET的流行高性能JSON框架特性工具VS2010Newtonsoft库从NuGet下载合适的Newtonsoft.Json库1.在你需要引用Newtosoft…

Tcpdump 详解

TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤&#xff0c;并提供and、or、not等逻辑语句来帮助你去掉无用的信息。和Linux终端状态下的其他软件一样&#xff0c;TcpDump也是依靠参数来工作&#xff0c;本文将…

敢叫岁月不冬天

敢叫岁月不冬天题记&#xff1a;观看人民公园千菊会有感——代腾飞 2009年11月21日 于成都绿柳成荫似境仙秋菊满园锦上添红黄白紫竞展颜要留秋月不冬天转载于:https://www.cnblogs.com/daitengfei/archive/2009/11/22/1607976.html

Scribefire发CSDN博客

历史在非常久非常久曾经&#xff0c;CSDN是支持外部工具来写文章的&#xff0c;但是在还有一个非常久非常久曾经就不行了。突然看到CSDN有能够用外部工具来写博客了&#xff08;CSDN的公告&#xff09;&#xff0c;一直以来都纠结这个问题&#xff0c;CSDN的编辑器不好用&#…

今日笔记!——分析Java应用性能

1 问题描述 因产品架构的复杂性&#xff0c;可能会导致性能问题的因素有很多。根据部署架构&#xff0c;大致的可以分为应用端瓶颈、数据库端瓶颈、环境瓶颈三大类。可以根据瓶颈的不同部位&#xff0c;选择相应的跟踪工具进行跟踪分析。 应用层面瓶颈大致有如下两类&#xf…

除了PS,还有它可以轻松实现图像处理!

全世界只有3.14 % 的人关注了青少年数学之旅在我们生活中&#xff0c;常见的图像处理软件有Adobe Photoshop、Adobe Illustrator等。然而&#xff0c;并非只有软件才能实现图像处理&#xff0c;通过编程手段也是能实现的&#xff01;今天&#xff0c;小天将要带着大家走进计算机…

微服务并不能解决你的烂代码问题

点击上方蓝字关注我们“微服务并不能解决你的烂代码问题很久以来&#xff0c;软件的交付质量一直是一个大家比较关心的问题&#xff0c;而程序员和架构师也一直在极力寻找一种更好的方式来构建应用系统。随着互联网爆炸式的增长&#xff0c;对于系统的交付速度和质量的要求也日…

不要设计模式

看到首页讲设计模式的文章和书&#xff0c;有些感慨抒发一下。我买过一本设计模式的书&#xff0c;基本上看了&#xff12;&#xff14;个模式的名称&#xff0c;大致把这几个名字记住了&#xff0c;我并没有沉下心来深入理解&#xff0c;并不是书讲得不好&#xff0c;我是一个…

protobuf在java应用中通过反射动态创建对象

2019独角兽企业重金招聘Python工程师标准>>> ---恢复内容开始--- 最近编写一个游戏用到protobuf数据格式进行前后台传输&#xff0c;苦于protobuf接受客户端的数据时是需要数据类型的如xxx.parseForm(...),这样就要求服务器在接受客户端请求时必须知道客户端传递的数…