日期:2014-05-17  浏览次数:20470 次

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>