输入用户名后, ajax验证用户是否已经存在,您们是如何实现的呢?》
有一种方式是textchange事件,但我感觉太不ajax了,给一段有水准的代码更好哦
有一种方式是textchange事件,但我感觉太不ajax了,给一段有水准的代码更好哦
解决方案 »
- 如何将asp.net后台中产生的数组传递到javascript中的函数中
- 您们给公共变量一般什么前缀?
- SQL高手来看一看这个问题!!
- 下面这段代码的前台页面怎么写啊(在线跪求帮忙)
- 关于 defaultRedirect="errorpage.aspx"的问题
- 请教各位高手,关于一个存储过程的问题?谢谢
- 模态窗口关闭问题,父窗口可以不同刷新吗?
- 各位兄弟帮个忙!!各位兄弟帮个忙!!各位兄弟帮个忙!!大家进来说说.net
- 一个感觉很严重的问题,关于load的问题,我是新鸟!
- 程序开头的meta的作用是什么? < !--#INCLUDE FILE="includecheck.asp"-- > 是什么作用?
- 如何用ASP.NET(c#)做到网站的推荐产品的产品列表
- 经常刷新出现频繁“未指定的错误”
一般是在Onblur事件,把name传过去ajax,简单的就返回一个bool.复杂的就返回一个json
<script type="text/javascript" language="javascript">
function GetXMLHttpRequest()
{
var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
return xmlHttp;
}
function checkusername()
{
xmlHttp=GetXMLHttpRequest();
var url="Default2.aspx?id="+document.getElementById("Text2").value;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=callback;
xmlHttp.send();
}
function callback()
{
var message=document.getElementById("message");
if(4==xmlHttp.readyState)
{
if(200==xmlHttp.status)
{
var vail=xmlHttp.responseText;
message.innerHTML=(vail.toLowerCase()=="0")?"用户名可以使用":"用户名已存在"
}
else
{
message.innerHTML="数据查询中";
}
}
}
</script><input id="Text2" type="text" onblur="checkusername()" />
<span id="message"></span>
然后在Default2.aspx中验证 string name = Request.QueryString["id"].ToString();
SqlConnection con = new SqlConnection("连接字符串");
string sql = "select count(*) from user where user_name='" + name + "'";
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
int n = Convert.ToInt32(cmd.ExecuteScalar().ToString());
con.Close();
Response.Write(n.ToString()); Response.End();随便写写,也可以用一般处理程序ashx来验证。
<span id="user_msg"></span>
this.txt_User.Attributes.Add("onblur", "check_user(this.value)");
function check_user(id) {
if (id == "")
return;
document.getElementById("user_msg").innerHTML = "<img src='../images/loading.gif' align='absMiddle'> 检查中,请稍候……"; var url = "../RegistValidate.ashx?username=" + escape(id);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = ShowResult;
xmlHttp.send(null);
}
function ShowResult() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
var s;
s = xmlHttp.responseText;
if (s== "OK")
document.getElementById("user_msg").innerHTML = "<img src='../images/correct.gif' align='absMiddle'>";
else
document.getElementById("user_msg").innerHTML = "<img src='../images/error.gif' align='absMiddle'>";
}
else {
document.getElementById("user_msg").innerHTML = "<img src='../images/error.gif' align='absMiddle'> 错误:" + xmlHttp.status;
}
}
}public class RegistValidate : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
string username = HttpUtility.UrlDecode(context.Request.QueryString["username"].ToString());
if (查询用户)
{
context.Response.Write("该用户名已经有人使用!" + username);
}
else
{
context.Response.Write("OK");
}
System.Threading.Thread.Sleep(1000);
} public bool IsReusable
{
get
{
return false;
}
}
}
<script language=javascript type=text/javascript>
function checkUName()
{
if(document.all.TextBox1.value == "")
{
div1.innerHTML = "*";
bResult = false;
}
else
{
var vResult = manageuser_USERADD.IsExist(document.all.TextBox1.value);
if (vResult.value != 0)
{
div1.innerHTML = "此用户名已经存在。"
bResult = false;
}
else
{
div1.innerHTML = "";
};
}
}
</script>
<asp:TextBox ID="TextBox1" runat="server" MaxLength="15" onblur="checkUName();" TabIndex="1" Height="22px" Width="153px"></asp:TextBox>
<font color=red><div id=div4 style="clear:left;display:inline"></div></font>
using AjaxPro; [AjaxPro.AjaxMethod()]
public int IsExist(string strUName)
{
……
return 0;
}