ajax(js)判断文本框输入的用户是否存在

问题描述

我想实现一个有关利用ajax(js)判断用户名是否被占用的功能,不知道谁能够帮忙解决一下<inputid="tbUsername"type="text"runat="server"class="username"style="width:180px;"onfocus="setStyle1('LbUserName')"onblur="setStyle2('LbUserName',this.id)"/>所用到的js为<scripttype="text/javascript">functionsetStyle1(x){//document.getElementById("LbUserName").Visible="false"document.getElementById(x).style.display='none'}functionsetStyle2(x,y){if(document.getElementById(y).value==""){document.getElementById(x).innerHTML='请输入用户名'document.getElementById(x).style.display=''document.getElementById(x).style.borderColor="#00A8FF"document.getElementById(x).style.color='blue'document.getElementById(x).style.backgroundColor="#e2f5ff"}else{CheckUserName(document.getElementById('y').value)//document.getElementById(x).innerHTML='填写正确'//document.getElementById(x).style.display=''//document.getElementById(x).style.borderColor="#81A235"//document.getElementById(x).style.color='#5A8F00'//document.getElementById(x).style.backgroundColor="white"}}varxmlHttp;//创建CheckUserNamefunctionCheckUserName(name){createXmlHttpRequest();varurl="DisposeEvent.aspx?Name="+name+"&Event=Check";;xmlHttp.open("post",url,true);xmlHttp.onreadystatechange=CheckUserNameResult;xmlHttp.send(null);}functioncreateXmlHttpRequest(){if(window.XMLHttpRequest){xmlHttp=newXMLHttpRequest();if(xmlHttp.overrideMimeType){xmlHttp.overrideMimeType("text/xml");}}elseif(window.ActiveXObject){try{xmlHttp=newActiveXObject("Msxml2.XMLHTTP");}catch(e){xmlHttp=newActiveXObject("Microsoft.XMLHTTP");}}if(!xmlHttp){window.alert("你的浏览器不支持创建XMLhttpRequest对象");}returnxmlHttp;}//创建用户检测的回调函数functionCheckUserNameResult(){if(xmlHttp.readyState==4)//服务器响应状态{if(xmlHttp.status==200)//代码执行状态{if(xmlHttp.responseText=="false"){document.getElementById("imgflag").innerHTML='该用户名可用'document.getElementById(x).style.display=''document.getElementById(x).style.borderColor="#FF6600"document.getElementById(x).style.color='black'document.getElementById(x).style.backgroundColor="#FFF2E9"}else{document.getElementById("imgflag").innerHTML='该用户名已经存在'document.getElementById(x).style.display=''document.getElementById(x).style.borderColor="#FF6600"document.getElementById(x).style.color='black'document.getElementById(x).style.backgroundColor="#FFF2E9"}}}}</script>DisposeEvent.aspx.cs代码为protectedvoidPage_Load(objectsender,EventArgse){CheckUsercu=newCheckUser();cu.UserName=Request.QueryString["Name"].ToString();if(!IsPostBack){switch(Request.QueryString["Event"]){case"Check":if(cu.CheckUsers()){Response.Write("true");Response.End();}else{Response.Write("false");Response.End();}break;}其中CheckUser书一个类代码为publicclassCheckUser{privatestring_UserName;publicstringUserName{set{this._UserName=value;}get{returnthis._UserName;}}publicboolCheckUsers(){SqlParameter[]Param=newSqlParameter[1];DataBaseDB=newDataBase();Param[0]=DB.MakeInParam("@UserName",SqlDbType.VarChar,50,this.UserName);if(DB.GetDataSet("USP_CheckUsers",Param).Tables[0].Rows.Count>0){returntrue;}else{returnfalse;}}}不知道那里错了

解决方案

解决方案二:
//声明XMLHttpRequest对象varxmlHttp;//检测用户名是否存在functionCheckName(userName){createXMLHTTP();//创建XMLHttpRequest对象varurl="DisposeEvent.aspx?userName="+userName+"&Event=Check";xmlHttp.open("GET",url,true);xmlHttp.onreadystatechange=checkUserName;xmlHttp.send(null);}functioncreateXMLHTTP(){if(window.XMLHttpRequest){xmlHttp=newXMLHttpRequest();//mozilla浏览器}elseif(window.ActiveXObject){try{xmlHttp=newActiveXObject("Msxml2.XMLHTTP");//IE老版本}catch(e){}try{xmlHttp=newActiveXObject("Microsoft.XMLHTTP");//IE新版本}catch(e){}if(!xmlHttp){window.alert("不能创建XMLHttpRequest对象实例!");returnfalse;}}}//执行检测用户名回调函数functioncheckUserName(){if(xmlHttp.readyState==4)//判断对象状态{if(xmlHttp.status==200)//信息成功返回,开始处理信息{if(xmlHttp.responseText=="true"){document.getElementById("imgName").src="images/true.gif";//让注册按钮失效document.getElementById("btnReg").disabled=false;}else{document.getElementById("imgName").src="images/false.gif";document.getElementById("btnReg").disabled=true;}}}}

解决方案三:
publicpartialclassDisposeEvent:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){Useruser=newUser();//是否为执行CheckName方法if(Request.QueryString["Event"].ToString()=="Check"){if(user.checkName(Request.QueryString["userName"].ToString())){//当数据库中已存在此用户时输出为false,让其显示相应图标Response.Write("false");Response.End();}else{Response.Write("true");Response.End();}}}}

解决方案四:
publicclassUser{publicUser(){////TODO:在此处添加构造函数逻辑//}//检测用户名是否存在stringconStr=System.Configuration.ConfigurationSettings.AppSettings["HumanResources"];publicboolcheckName(stringuserName){SqlConnectionuserConnection=newSqlConnection(conStr);SqlCommanduserCommand=newSqlCommand("checkName",userConnection);userCommand.CommandType=CommandType.StoredProcedure;//采用存储过程userCommand.Parameters.Add("@userName",SqlDbType.VarChar,50);//存储过程参数userCommand.Parameters["@userName"].Value=userName;//给参数赋值userCommand.Parameters.Add("@count",SqlDbType.Int);userCommand.Parameters["@count"].Direction=ParameterDirection.Output;userCommand.Connection.Open();//打开连接userCommand.ExecuteScalar();//返回首行首列,如果存在的话返回1intn=Convert.ToInt32(userCommand.Parameters["@count"].Value);userCommand.Connection.Close();//关闭连接if(n>0){returntrue;}else{returnfalse;}}}

解决方案五:
http://topic.csdn.net/u/20080616/08/7d35368b-f257-4920-8f27-e0ff474e14f5.html==这里我不是回过么
解决方案六:
在你自己的input的中加<inputid="userName"type="text"onkeyup="CheckName(document.getElementById('userName').value);"/>

时间: 2024-09-25 03:30:12

ajax(js)判断文本框输入的用户是否存在的相关文章

js判断文本框输入的内容是否为数字_javascript技巧

如何验证文本框中的内容是否为数字,本文提供了三种方法,希望对大家的学习有所启发. 在某些情况下可能需要让文本框中的内容只能够输入数字,例如手机号码或者邮编之类的,下面简单介绍一下如何实现此功能. 下面是验证数字的正则表达式: "^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]

jsp中如何判断文本框输入的和图片上的验证码一致,代码如下:

问题描述 jsp中如何判断文本框输入的和图片上的验证码一致,代码如下: var aa=$("#vadCode").val(); alert(aa); 这里获取图片上的验证码为空,请问该如何获取 解决方案 你在生成验证码图片的同时,把图片上的验证码放到input框里不就可以取值了吗? 解决方案二: 验证码 是先用 验证码生成器生成一个随机的6位数字,然后在将这6个数字生成一张图片的,你直接获得肯定是不对的 解决方案三: 你要用ajax发送输入的aa到服务器端和用session存储的验证码

JS判断文本框内容改变事件的简单实例

 本篇文章主要是对JS判断文本框内容改变事件的简单实例进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 oninput,onpropertychange,onchange的用法   onchange触发事件必须满足两个条件:   a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效)   b)当前对象失去焦点(onblur):    onpropertychange的话,只要当前对象属性发生改变,都会触发事件,但是它是IE专属的:          oninput是on

js控制文本框输入的字符类型方法汇总

这篇文章主要给大家汇总介绍了js控制文本框输入的字符类型的各种方法,十分的简单实用,有需要的小伙伴可以参考下.     JS 控制文本框只能输入数字    代码如下: <input onkeyup="value=value.replace(/[^0-9]/g,'')" onpaste="value=value.replace(/[^0-9]/g,'')" oncontextmenu ="value=value.replace(/[^0-9]/g,''

js实现文本框输入文字个数限制代码_javascript技巧

通常情况下,文本框输入的文字个数并不是无限制的,一般都会限定一个输入最高上限,较为人性化的网站可能会有可输入字数倒计效果,比如还剩余20可以输入这样的提示,下面就通过一个实例介绍一下如何实现此效果. 先看看效果图: 代码如下: <html> <head> <title>文本框输入文字倒计效果代码</title> <style type="text/css"> * { margin:0; padding:0; } .box {

js计算文本框输入的字符数_javascript技巧

使用JavaScript实时的计算用户当前输入的字符数函数代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JavaScript统计字符数</title> <script language="javascript"> function C

js限制文本框输入长度

onblur= "maxtextvalue(this,15) "       -----------------------------*/ function   maxtextvalue(obj,maxlen) {         if   (obj.value.length> maxlen)         {                 alert( '文本框输入超出 '+maxlen+ '个长度 ');                 obj.value=obj.va

js限制文本框输入长度两种限制方式(长度、字节数)_基础知识

功能/特点: 1.实时显示可输入的字数(字节数) 2.两种限制方式(长度.字节数) 3.中文输入法下可正常使用,无BUG 4.同一页面可以使用多个,相互不干扰 limit.js 复制代码 代码如下: function limit(){ var txtNote;//文本框 var txtLimit;//提示字数的input var limitCount;//限制的字数 var isbyte;//是否使用字节长度限制(1汉字=2字符) var txtlength;//到达限制时,字符串的长度 var

JS判断文本框内容改变事件的简单实例_javascript技巧

oninput,onpropertychange,onchange的用法 onchange触发事件必须满足两个条件: a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效) b)当前对象失去焦点(onblur): onpropertychange的话,只要当前对象属性发生改变,都会触发事件,但是它是IE专属的:       oninput是onpropertychange的非IE浏览器版本,支持firefox和opera等浏览器,但有一点不同,它绑定于对象时,并非该对象所有属性改变都