• 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" onfocus="checkName();" onblur="checka();"></asp:TextBox>
    // 我用的 TextBox ,兼容 IE 和 Firefox 样式
    <asp:TextBox ID="lab_name" runat="server" Width="300px" style="border-top-style:none; border-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;
                }
            }

     

  • 相关阅读:
    Zookeeper 3.4 官方文档翻译
    西门子PLC学习笔记六-(Step7指令简单介绍)
    Leetcode[129]-Sum Root to Leaf Numbers
    一个Exchange 2010 的password不定期弹框的问题处理,希望对大家可以有所帮助。
    数据库分表和分库的原理及基于thinkPHP的实现方法
    电力企业信息化建设方案之调度信息报送系统
    自己定义控件三部曲视图篇(一)——測量与布局
    VS自己定义project向导开发(Custom Wizard)
    Android ROM开发(二)——ROM架构以及Updater-Script脚本分析,常见的Status错误解决的方法
    ALM11需求和测试覆盖率图解1
  • 原文地址:https://www.cnblogs.com/liufei88866/p/1599883.html
Copyright © 2020-2023  润新知