0

私は次のコードを持っています

 <asp:Panel ID="searchPanel" DefaultButton="searchButton" runat="server">
                    <asp:TextBox ID="searchBox" runat="server" value="     Search..."></asp:TextBox>
                    <asp:Button ID="searchButton" runat="server" Style="display: none" OnClick="searchInput" />
                </asp:Panel>



                                <asp:Panel ID="loginPanel" DefaultButton="submitButton" runat="server">

                                        <asp:TextBox ID="username" runat="server"  required="required"></asp:TextBox>
                                        <asp:TextBox runat="server" ID="password"  required="required"></asp:TextBox>

                                        <asp:Button ID="submitButton" runat="server" Text="Log in" OnClick="login" />

                                </asp:Panel>

searchBox がフォーカスされているときに「Enter」キーを押すと、他のパネルのフィールドが強調表示され、「フィールドに入力してください」と表示されます。

どうすればこれを解決できますか?

4

2 に答える 2

1

HTML 5の「必須」属性を使用していると思います。これにより、ポストバックを実行しようとすると検証が発生します。

検索制御専用のフォームを使用し、フォーム要素に「novalidate」属性を使用できます。

または

これを実現するために検証グループを使用できます。

于 2013-03-27T16:46:09.017 に答える
0

検証グループを使用して問題を解決しました

    <asp:RequiredFieldValidator ID="RequiredFieldValidator1"
                    ControlToValidate="username"
                    ValidationGroup="emailValidationGroup"
                    runat="Server">
                </asp:RequiredFieldValidator>

 ValidationGroup="emailValidationGroup" //goes to button

追加することも忘れないでください

<appSettings>
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
  </appSettings>

webconfigへ

于 2013-03-27T16:45:55.963 に答える