Ajax验证用户名,怎么触发焦点丢失事件?
我断点到ashx文件,明显文件从未备调用,怎么办?
已经用过ajax控件来做,现在想自己建异步对象来做
触发事件试过onblur、LostFucs了,都没触发到function。我光标离开的时候,页面却刷新了,奇怪?单独运行过处理文件,是没问题的
再问个小小的无关问题,我安装HTTP watch,在查看浏览栏总找不到这个插件,要怎么装的?我win7 64位系统,IE8
谢谢各位指点了,本人这几周来学习.NET举步为艰啊,在这里感谢各位对本人层出不穷的问题的耐心解答
感谢
不知道代码有没有问题?打javascript代码的时候没有语法提示的,那输错怎么知道?一定要靠熟练来不输错吗?
代码:
- C# code
<script type="text/javascript" src="Scripts/AjaxCommon.js"></script> <script type="text/javascript" > //创建Ajax异步对象,验证重复账户 function CheckRegistID(email) { var xhr = false; xhr = CreatXmlHttp(); xhr.open("Get", "Hendler/CheckRegisterID.ashx?email="+email+"&st"+new Date(), true);//注意加上随机函数更新缓存 xhr.onReadyStateChange = function () { if (xhr.readyState == 4 && xhr.status == 200) { if (xhr.ResponseText == "yes") { gel("lab_registMsg").innerHTML= "欢迎该账户注册"; } else { gel("lab_registMsg").innerHTML = "该账户已被注册!"; } } } xhr.send(null); }- C# code
<asp:textbox id="txt_RegistID" runat="server" Width="150px" CssClass="InputCss" onblur="CheckRegistID(this.value)" AutoPostBack="True"></asp:textbox>
- C# code
public void ProcessRequest (HttpContext context) { string email = ""; SqlDataReader email_dr = null;//创建一个查询段 context.Response.ContentType = "text/plain"; email = context.Request["email"]; BLL.User CheckEmail = new BLL.User();//实例化查询对象 email_dr = CheckEmail.CheckRegistID(email); if (email_dr.Read()) { context.Response.Write("yes"); } else { context.Response.Write("no"); } } [解决办法]
1.onblur是失去焦点事件,事件调用没错
2.页面刷新,是因为你设置了页面自动回发AutoPostBack="True" 去掉,而且没有调用到function也是因为页面依然刷新
[解决办法]
- HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>无标题页</title> <script src="jquery-1.4.2.min.js" type="text/javascript"></script> <script type="text/javascript"> function add() { $.post("action.aspx",{Action:"post",str:$("#TextBox1").val()}, function(value,textStatus) { alert(value); } ); } </script></head><body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server" onblur="add()"></asp:TextBox> </div> </form></body></html>
[解决办法]