无刷新检测用户名
无刷新检测用户名功能为:当用户输入用户名,用户名的文本框失去焦点后就检测用户名是否重复,不用再点击一个按钮才能检测前台代码:以下是引用片段:
这个是我在网上找的 我不知道怎吗用 哪位高手给注释一下 详细的
谢谢了[em14] [em14] [em14] [em14] [em14] [em14]
<script type="text/JavaScript" language="javascript">
var XMLHttp = null;
function CheckUser()
{
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(err1)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(err2)
{
xmlHttp = new XMLHttpRequest();
}
}
var Text1 = document.getElementById("Text1");
var url = "chkuser.aspx?User=" + Text1.value;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange = OnHandler;
xmlHttp.send(null);
}
function OnHandler()
{
if(xmlHttp.readyState == 4)
{
var isValid = xmlHttp.responseText;
var exists = document.getElementById("exsits");
exists.innerHTML = isValid.substring(0,4);
}
}
</script>
<input id="Text1" type="text" /><label d="exsits"></label><br />
然后建一个chkuser.aspx,其后台代码改为:
以下是引用片段:
protected void Page_Load(object sender, EventArgs e)
{
string user = this.Request.QueryString["User"];
if (UserExist(user))
{
Response.Write("存在");
}
else
{
Response.Write("不存在");
}
}
private bool UserExist(string username)
{
ClassLib.Employee emp = new ClassLib.Employee();
return emp.EmpNameExist(username);
}
给你说种方法的嘛
首先 在操作页的类里面继承一个类ICallbackEventHandler
这样继承的哈
public class SelectField : System.Web.UI.Page, ICallbackEventHandler
继承后 需要加上两个方法
string returnValue = "";
public string GetCallbackResult()
{
return returnValue;
}
public void RaiseCallbackEvent(string eventArgument)
{
string sqlString = eventArgument;
returnValue = GetFields(sqlString);
}
就是这两个方法
其中 在RaiseCallbackEvent中的方法里面调用了一个GetFields()方法
这个方法就是自己写的要出来代码的方法 你在用的时就就是查询用户是否存在的那个方法
然后在Page_Load里面加上
ClientScriptManager csm = objPage.ClientScript;
string GetLevelHtmlClient = csm.GetCallbackEventReference(this, "sqlString", "GetLevelHtmlClient", "");
string GetLevelHtmlServer = "function GetLevelHtmlServer (sqlString) { " + GetLevelHtmlClient + "; }";
csm.RegisterClientScriptBlock(objPage.GetType(), "Init", GetLevelHtmlServer, true);
在页面上加入方法GetLevelHtmlClient(sqlString)
这个方法是来接受你在后台处理完后返回的值
你在此方法中根据返回值来确定用户是否存在
然后你要调用的方法是GetLevelHtmlServer(sqlString)
是次方是在Page_Load里面创建的一个JS方法
[[it] 本帖最后由 tomtory 于 2008-6-27 14:05 编辑 [/it]] [em14] 牛啊 你是做什吗的 好想认识你 加我QQ或MSN好吗
QQ308329547
群和MSN在我的回复下面有 我啊 网站开发的 呵呵 我们现在暂时不能上QQ的 要等项目完成以后才能上得 没办法
不过你可以把我加起的嘛 呵呵 这是我的 9062656
MSN的我好久都没有上了 都要忘了 等找回来了在说的嘛 呵呵 [em03] 牛啊
我也是做网站后台的
但我是新手
所以遇到很多问题 以后还望多多指点[em17] [em17] [em17]
页:
[1]
