2013-03-15 10 views
9

Próbuję użyć nowego atrybutu required w polach formularza w aplikacji webform .NET 4.5.Wymagany atrybut HTML5 = "z webnetami .NET

Ponieważ jednak jest tylko jeden obiekt <form> otaczający wszystkie kontrolki na stronie (styl formularzy internetowych), przeglądarka nie wie, które pola mają być sprawdzane po naciśnięciu przycisku przesyłania.

Poniżej przedstawiono uproszczoną wersję strony z funkcją logowania i wyszukiwaniem strony.

Po kliknięciu przycisku Wyszukaj moja przeglądarka informuje mnie, że najpierw muszę wypełnić pola nazwy użytkownika i hasła. A kiedy próbuję się zalogować, mówi mi, że muszę wpisać tekst w polu wyszukiwania. Ponieważ wszystkie pola są dziećmi tego samego tagu <form>.

Ktoś jeszcze miał ten problem lub znalazł rozwiązanie? Chciałbym użyć atrybutów HTML5 do sprawdzania poprawności formularza, bez rozwiązania javascript.

<!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> 
+0

czy próbował zgasić formularz wyszukiwania? –

+0

Przykro mi, ale nie zrozumiałem tego ... – chilly

+0

Czy próbowałeś szukać poza formularzem? –

Odpowiedz

-3

Ponieważ model programowania ASP.Net Web Forms nie pozwala na wiele znaczników HTML, jest to coś, czego nie można wykorzystać.

+0

Zobacz drugą odpowiedź – Shaharyar

5

Spróbuj proszę .. To pracował dla mnie ..

<asp:TextBox runat="server" 
      ClientIDMode="Static" 
      ID="inputusername"      
      required /> 
+0

Czy duplikat 'ClientIDMode =" Static "' intencjonalny? –

Powiązane problemy