2013-10-17 115 views
1

我有一个asp.net Web应用程序,我在应用程序中有登录屏幕。当使用RequiredValidator时,文本框中失去焦点的问题

用户名和密码字段我已经使用所需的字段校验如下:

<td style="width: 160px"> 
<asp:TextBox ID="txtUserNm" runat="server" CssClass="txtSingleline txtBack-Color txtRequireBorder-Color required"              Height="18px" Width="150px" TabIndex="1" MaxLength="50" onblur="ValidatorOnChange(event);showhide();"></asp:TextBox> 
</td> 
<td style="width: 140px"> 
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Display="Dynamic" 
Width="150px" SetFocusOnError="true" ErrorMessage="Please enter Username" ControlToValidate="txtUserNm"             ValidationGroup="a"></asp:RequiredFieldValidator> 

当我专注于用户名文本框,按下Tab键,我无法从文本框,因为洛斯焦点RequiredField验证器。它只发生在Chrome和IE9中。但在Firefox中运行良好。

当使用Requiredfield验证器时,什么可以解决从文本框失去焦点?

感谢

回答

2

简单...只需删除SetFocusOnError="true"或将其设置为false

唯一的缺点是您只能验证表单上的表单,而不是实时发送。
但是,它甚至没有这样的痛苦,因为即使你删除了这个属性,验证在正常的web表单和ajax更新面板中都能正常工作。

0

我认为你应该手动分配tabindexproperty你的控制,以便按标签来定义循环。

相关问题