2016-07-30 145 views
0

我使用jQuery驗證引擎對我的表單驗證這裏是鏈接演示: https://github.com/posabsolute/jQuery-Validation-Engine在jQuery驗證引擎中使用自定義規則?

我有一個複選框,並在ASP.NET 4個文本框,我想驗證,如果選中該複選框,然後四個文本框絕被填充,否則會顯示錯誤消息「請填寫框」。

這是迄今爲止我嘗試過,但沒有奏效。 任何幫助,將不勝感激。

<script type="text/javascript"> 
       function checkBox() { 
        var check = document.getElementById("CheckBox1"); 
        var tb1 = document.getelementbyid('iBox1'); 
        var tb2 = document.getelementbyid('iBox2'); 
        var tb3 = document.getelementbyid('iBox3'); 
        var tb4 = document.getelementbyid('iBox4'); 
     if (check.checked && tb1 == null && tb2 == null && tb3 == null && tb4 == null) { 
         alert("checkbox checked"); 
         jQuery("#form1").validationEngine({ 
          'custom_error_messages': { 
           '#iBox1': { 
            'required': { 
             'message': "write at least four characters in Name" 
            } 
           } 
          } 
         }); 
        } 
        else { 
         alert("unchecked"); 
        } 
       } 
       $(document).ready(function() { 
        $("#form1").validationEngine(); 
       }); 
     </script> 
     <form runat="server" id="form1"> 
     <div> 
     <asp:CheckBox runat="server" ID="CheckBox1" onclick="checkBox()"></asp:CheckBox> 
     <asp:TextBox runat="server" ID="iBox1" MaxLength="1" size="1">/asp:TextBox> 
     <asp:TextBox runat="server" ID="iBox2" MaxLength="1" size="1"></asp:TextBox> 
     <asp:TextBox runat="server" ID="iBox3" MaxLength="1" size="1"></asp:TextBox> 
     <asp:TextBox runat="server" ID="iBox4" MaxLength="1" size="1"></asp:TextBox> 
     </div> 
    </form> 

回答

0

看起來像你的問題是在客戶端生成的asp.net控件ID,所以你不能像腳本中那樣真正地引用它們。它們可通過雖然ClientID的,由於你的腳本似乎並不在一個單獨的js文件的aspx頁面上定義,爲你做最簡單的事情是這樣的:

var check = document.getElementById('<%= CheckBox1.ClientID %>'); 

同樣對於文本框。

+0

我嘗試了你的建議,仍然沒有工作。 –

+0

@RexJones請解釋「沒有工作」。任何錯誤? – Andrei

+0

它沒有觸發或只是沒有發生任何事onclick –