用
ajax来实现鼠标离开时无刷新判断用户名是否存在(老韩08.01.26)
一般用户注册时,都要经过一系列的输入值判断,其中有项“判断用户名是否重复”的功能,如果不借用
ajax来做,就只能是注册用户在点击注册提交后才能给用户做出判断“用户名是否已经存在”,这样给用户的感觉不太好,因为如果用户名已经存在,则他需要重新输入用户名与密码等,带来了不必要的麻烦,今日用
ajax.net来实现当用户输入完用户名后,焦点一离开输入框时,程序立刻判断其用户名是否存在。这个例子可以依此类推,从而实现无刷新验证的其它效果。
测试环境:vs2005/iis/AjaxPro.2
演示效果图:
实现:
正确部署后,我们再来看下代码实现:
.aspx页面
<table style="width: 600px">
<tr>
<td align="center" colspan="2" style="height: 59px">
www.cn-web.com(web技术开发知识库)演示</td>
</tr>
<tr>
<td align="right" style="height: 25px">
用户名:</td>
<td style="height: 25px">
<asp:TextBox ID="TextBox1" runat="server" onblur="validate(document.Form1.TextBox1.value,'uname')"></asp:TextBox><span class="error" id="YtxtUname"></span></td>
</tr>
<tr>
<td align="right">
邮箱:</td>
<td>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td align="right">
</td>
<td>
</td>
</tr>
</table>
.aspx页面中的
javascript函数,当焦点离开textbox时执行
<script language="
javascript">
<!--
function validate(v,t)//值,类型
{
if(t=="uname")
{
var flag=
test_Default.checkuname(v);//验证用户名是否重复
if(flag.value)
{
document.getElementById("YtxtUname").innerText="验证通过"
}
else
{
document.getElementById("YtxtUname").innerText="用户名已经存在!"
}
}
}
-->
</script>
.cs页面代码
protected void Page_Load(object sender, EventArgs e)
{
#region 注册无刷新
AjaxPro.Utility.RegisterTypeForAjax(typeof(test_Default));
#endregion
}
/// <summary>
/// 验证用户名是否存在
/// </summary>
/// <param name="u"></param>
/// <returns></returns>
[AjaxPro.AjaxMethod]
public bool checkuname(string u)
{
opu myopu = new opu();
bool r = myopu.checkuname(u);//这里是您自己的从数据库中检验用户是否存在的业务逻辑代码
return r;
}
OK,大功告成了。有什么问题请加入本站技术群(37354847 )探讨。