2013-10-17 91 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你的控制,以便按標籤來定義循環。

相關問題