required
.NET 4.5 Web フォーム アプリケーションのフォーム フィールドで新しい属性を使用しようとしています。
ただし、ページ上のすべてのコントロールを囲むコントロールは 1 つしかないため<form>
(Web フォーム スタイル)、ブラウザーは、送信ボタンが押されたときにどのフィールドが検証されるかを認識しません。
ログイン機能とページ検索の両方を備えたページのストリップ バージョンを以下に添付します。
[検索] ボタンをクリックすると、ブラウザから、最初にユーザー名とパスワードのフィールドに入力する必要があると表示されます。ログインしようとすると、検索フィールドにテキストを入力する必要があると表示されます。すべてのフィールドが同じ<form>
タグの子であるためです。
他の誰かがこの問題を抱えていた、または解決策を思いつきましたか? JavaScript ソリューションではなく、フォームの検証に HTML5 属性を使用したいと思います。
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
</head>
<body>
<form method="post" runat="server" id="mainform">
<%// Search %>
<asp:Panel runat="server" DefaultButton="searchButton" >
<asp:TextBox runat="server" ID="searchQuery" ClientIDMode="Static" required="required" />
<asp:Button runat="server" ID="searchButton" ClientIDMode="Static" Text="Search"/>
</asp:Panel>
<%// Login %>
<asp:Panel runat="server" DefaultButton="signInButton">
<label for="inputusername">Username</label>
<asp:TextBox runat="server" ClientIDMode="Static" ID="inputusername" required="required" />
<label for="inputpassword">Password</label>
<asp:TextBox runat="server" TextMode="Password" ClientIDMode="Static" ID="inputpassword" required="required" />
<asp:Button ID="signInButton" runat="server" />
</asp:Panel>
</form>
</body>
</html>
</html>