2013-05-17 57 views
0

我遇到了一些複選框驗證問題。 我正在使用插件驗證:http://bassistance.de/jquery-plugins/jquery-plugin-validation/JQuery驗證 - 複選框驗證不發佈所有值

我有三個複選框,至少有一個必須打勾。我對這些複選框初始表單代碼是:

<input type="checkbox" checked name="check_options" value="News">News 
<input type="checkbox" checked name="check_options" value="Events">Events 
<input type="checkbox" checked name="check_options" value="Promotions">Promotions 

驗證規則:

$("#commentForm").validate({ 
      rules: { 
       email_options_name: { 
        required: true 
       }, 
       email_options_company: { 
        required: true 
       }, 
       email_options_country: { 
        required: true 
       }, 
       email_option_email: { 
        required: true, 
        email: true 
       }, 
       check_options: { 
        required: true, 
        minlength: 1 
       } 
      },  
     }); 

這裏驗證了check_options工作正常。然而,處理表單的php腳本只會打印最後一個複選框的值(所以如果打勾了兩個或三個,只會發佈最後一個值)。

我修改我的輸入名稱來解決這個問題:

<input type="checkbox" checked name="check_options[]" value="News">News 
<input type="checkbox" checked name="check_options[]" value="Events">Events 
<input type="checkbox" checked name="check_options[]" value="Promotions">Promotions 

這顯示了所有在崗的價值觀。但是我無法通過驗證來爲它工作。如果我把我的規則:

check_options[]: { 
       required: true, 
       minlength: 1 
      } 

我得到一個JavaScript錯誤:語法錯誤:缺少:物業編號

後,如果我離開它沒有方括號驗證不會發生。

感謝您的幫助!

回答

1

使用HTML這樣的:

<input type="checkbox" checked name="check_options[]" value="News" required minlength="1">News 
<input type="checkbox" checked name="check_options[]" value="Events">Events 
<input type="checkbox" checked name="check_options[]" value="Promotions">Promotions 

和Javascript成爲

check_options: { 
      required: true, 
      minlength: 1 
     } 
+0

偉大的作品,謝謝! – user1669256

+0

你也可以在javascript''check_options []''中引用你的名字。 – Ryley