Asp.net

ASP.NET 驗證失敗時更改文本框的 css 類

  • August 19, 2009

當附加到文本框的必填欄位驗證器未通過客戶端驗證時,如何執行一些 javascript?我要做的是更改文本框的 css 類,以使文本框的邊框顯示為紅色。

我正在使用網路表單,並且我確實可以使用 jquery 庫。

這是快速而骯髒的事情(但它有效!)

<form id="form1" runat="server">
     <asp:TextBox ID="txtOne" runat="server" />
     <asp:RequiredFieldValidator ID="rfv" runat="server" 
                                ControlToValidate="txtOne" Text="SomeText 1" />
     <asp:TextBox ID="txtTwo" runat="server" />
     <asp:RequiredFieldValidator ID="rfv2" runat="server" 
                                ControlToValidate="txtTwo" Text="SomeText 2" />
     <asp:Button ID="btnOne" runat="server" OnClientClick="return BtnClick();" 
                                        Text="Click" CausesValidation="true" />
   </form>
   <script type="text/javascript">
       function BtnClick() {
           //var v1 = "#<%= rfv.ClientID %>";
           //var v2 = "#<%= rfv2.ClientID %>";
           var val = Page_ClientValidate();
           if (!val) {
               var i = 0;
               for (; i < Page_Validators.length; i++) {
                   if (!Page_Validators[i].isvalid) {
                       $("#" + Page_Validators[i].controltovalidate)
                        .css("background-color", "red");
                   }
               }
           }            
           return val;
       }
   </script>

引用自:https://stackoverflow.com/questions/1301508