我有以下代码
<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>
每当我按下“输入”键时,在搜索框被聚焦时,其他面板字段会突出显示并显示“请填写字段”。
我该如何解决这个问题?
答案 0 :(得分:1)
我相信您使用的是HTML 5“必需”属性。当您尝试进行回发时,这将导致验证。
您可以使用特定于搜索控件的表单,并在表单元素中使用“novalidate”属性。
或者
您可以使用验证组来实现此目的。
答案 1 :(得分: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