首页 新闻 会员 周边 捐助

高手来帮下忙,无刷新问题?

0
悬赏园豆:50 [已解决问题] 解决于 2008-12-13 12:15

前台代码:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>

<asp:TextBox ID="txtPwd" runat="server" TextMode="Password" Width="150px" AutoPostBack="True" OnTextChanged="Page_Load"></asp:TextBox>

        </ContentTemplate>
</asp:UpdatePanel>

后台代码:

 protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            if (txtPwd.Text.Length < 6 || txtPwd.Text.Length > 14)
            {
                errPwd.Text = "密码必须在6到14位数之间";
            }
            else
            {
                errPwd.Text = "";
            }
        }
    }

这样如果不符合就会显示"密码必须在6到14位数之间";

然后你填入符合的条件,局部就刷了下把errPwd里面的字刷掉,可是同时也会把密码框刷成空的,文本框就不会被刷掉。

应该如何实现不把密码刷掉了。如果Textbox的属性AutoPostBack设为false,就可以,但是当鼠标离开密码框时,就不会局部刷新了。要的效果就像百度那样。

问题补充: 1.2楼的朋友那样做是最好的,但是我的页面的继承母版页的,那样做报错document.getElementById(...)为空或不是对象。该怎么做??
零度吹风的主页 零度吹风 | 初学一级 | 园豆:0
提问于:2008-12-12 17:24
< >
分享
最佳答案
0

这个功能根本没必要使用ajax 啊。
简单的一个 js function就搞定了。你那样做对服务器来讲可受不了
<input id="txtUserName" onchange="validator();" /><span id="errorTip"></span>
function validator(){
   var length = document.getElementById("txtUsreName").value.length;
   if(length < 6 || length > 14){
      document.getElementById("errorTip").innerHTML="密码必须在6到14位数之间";
    }
}

码尔代夫iimax | 老鸟四级 |园豆:3138 | 2008-12-12 17:49
其他回答(3)
0

只有必须用到服务器数据的验证才有必要到用Ajax(比如说用户名是不是已经有人用了)

这种简单的验证用验证控件或javascript来做就行了。没必要为了这些验证浪费服务器资源~

另外发现iIMax的一个笔误~~~

<input onchange="validator();" id="txtUserName" /><span id="errorTip"></span>
function validator(){
   var length = document.getElementById("txtUsreName").value.length;
   if(length < 6 || length > 14){
      document.getElementById("errorTip").innerHTML="密码必须在6到14位数之间";
    }
}

BB_Coder | 园豆:797 (小虾三级) | 2008-12-12 18:06
0

密码框在回传之后本来就是会被刷空的,这是html表单控件的一个特性,AutoPostBack设为false就不会触发回传事件,当然也不涉及到刷新问题,其实你不必这样做,就像楼上所说,你可以用js实现,当提交时为了保险起见,在服务器端再做一下验证就行了!

GUO Xingwang | 园豆:3885 (老鸟四级) | 2008-12-12 18:09
0

把AutoPostBack="True"去掉,然后把if (IsPostBack)改成if (!IsPostBack)试试

上不了岸的鱼 | 园豆:4613 (老鸟四级) | 2008-12-12 20:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册