使用Required Validator时,与文本框中丢失焦点相关的问题

时间:2013-10-17 05:57:48

标签: c# asp.net

我有一个asp.net Web应用程序,我在Application中有登录屏幕。

在userName和password字段中,我使用了必需的字段验证器,如下所示:

 <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>

当我专注于UserName文本框并按Tab键时,由于RequiredField Validator,我无法从TextBox中取消焦点。它只发生在Chrome和IE9中。但在firefox中运行良好。

使用Requiredfield验证器???

时,可以解决从文本框中松开焦点的问题

由于

2 个答案:

答案 0 :(得分:2)

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

唯一的缺点是你只能在表格后面验证表格,而不是动态。
但是,它甚至不是那么痛苦,因为即使你删除了这个属性,验证在普通的web表单和ajax更新面板中也能正常工作。

答案 1 :(得分:0)

我认为您应该手动将tabindex property分配给您的控件,以便通过按Tab键来定义循环。