チェックボックスの検証に問題があります。これにはプラグイン検証を使用しています: http://bassistance.de/jquery-plugins/jquery-plugin-validation/
チェックボックスが 3 つあり、少なくとも 1 つをオンにする必要があります。これらのチェックボックスの最初のフォーム コードは次のとおりです。
<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 スクリプトは、最後のチェック ボックスの値のみを出力します (したがって、2 つまたは 3 つのチェック ボックスがオンになっている場合は、最後の値のみがポストされます)。
これを修正するために入力名を修正しました:
<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 エラーが発生します: SyntaxError: missing : after property id
角括弧なしでそのままにしておくと、検証は行われません。
助けてくれてありがとう!