2010-12-14 125 views
1

我在我的窗體中有動態文本框。我喜歡使用bassistance jquery插件進行驗證。使用jquery動態文本框驗證

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

我的文本框的名字是在陣列甲設置[],如何表示的規則和信息

<input type="text" name="setting[]"> 

我的驗證腳本

<script type="text/javascript"> 
$("#freebidz_frm").validate({ 
    rules: { 
     setting:{ 
      required: true 
      } 
    }, 
    messages: { 
     setting: '<br>'+"Please enter Default Font Style"+'' 
    }}); 
</script> 

但它的不工作...有人幫助我!在此先感謝

回答

2

儘管別人在說什麼,但在輸入名稱中包括方括號(但對ID無效)是有效的(並且很有用)。大多數服務器端語言將把它們作爲一個數組來處理,這在編寫處理過程中可以爲您節省大量時間。

至於你的腳本,有兩點在那裏它可能是想錯了:

  1. 確保驗證腳本被包裹在jQuery的$(文件)。就緒(函數(){...}) ; (我假設你在你的完整腳本中有)
  2. 在任何特殊字符的情況下,嘗試將輸入名稱(包括方括號)用引號括起來。

我已將您的代碼複製到新的HTML頁面,並且驗證腳本在我做出這兩項調整時正常工作。只要確保在腳本的'規則'和'消息'部分中將'setting'包含在引號中即可。

由於您是從輸入創建數組,因此我假設這不是表單中唯一的'setting []'。如果是這樣的話,你就必須要有一點奇特 - 創建類規則可以幫助你驗證基於普通類的一組輸入(http://docs.jquery.com/Plugins/Validation/Validator/addClassRules) 。