1

私はasp.net Webアプリケーションを持っています。アプリケーションにログイン画面があります。

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バリデーターを使用するときにテキストボックスからフォーカスを失うための解決策は何ですか???

ありがとう

4

2 に答える 2

2

シンプル... を削除するSetFocusOnError="true"か、に設定するだけfalseです。

唯一の欠点は、その場ではなく、フォームのポストバックでのみフォームを検証できることです。
しかし、このプロパティを削除しても、検証は通常の Web フォームと ajax 更新パネルの両方で正常に機能するため、首に負担はありません。

于 2013-10-17T06:19:36.647 に答える