フォーム送信スクリプトにデータを送信する前に、少なくとも1つのチェックボックスがオンになっているかどうかを検証する必要があります。これは私がこれまでに持っているものです(すべてのフィールドを検証するために、チェックボックスの1つが下部にあります)
$('form#ajax_form .submit').click(function () {
$('#ajax_form .error').hide(); //if error visibile, hide on new click
var name = $('input#name').val();
if (name == "" || name == " " || name == "Name") {
$('input#name').focus().before('<div class="error">Hey, what´s your name...?</div>');
return false;
}
var email_test = /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/;
var email = $('input#email').val();
if (email == "" || email == " ") {
$('input#email').focus().before('<div class="error">Psssst. You missed one...</div>');
return false;
} else if (!email_test.test(email)) {
$('input#email').select().before('<div class="error">Please recheck your email</div>');
return false;
}
var message = $('#message').val();
if (message == "" || message == " " || message == "Message") {
$('#message').focus().fadeIn('slow').before('<div class="error">Remember your message!</div>');
return false;
}
if ($("[name=Field]:checked").length > 0) {
$('#services1').focus().after('<div class="error">Choose at least one please.</div>');
return false;
}
var company = $('input#company').val();
$.post(rootUrl + '/wp-admin/admin-ajax.php', {
action: "two2_send_contact_form",
email: email,
name: name,
message: message,
company: company
}, function (data) {
$('form#ajax_form').slideUp('fast').before('<div id="success"></div>');
$('#success').html(data).slideDown(9000);
});
およびチェックボックス。
<div style="display:inline;">
<span>
<label class="choice" for="Field1" style="display:inline;margin-left:0px;margin-right:5px;">
<input id="Field1" name="Field[]" type="checkbox" class="field checkbox" value="Web Design" style="width:0px;">Web Design
</label>
</span>
<span>
<label class="choice" for="Field2" style="display:inline;margin-left:0px;margin-right:5px;">
<input id="Field2" name="Field[]" type="checkbox" class="field checkbox" value="Graphic Design" style="width:0px;">Graphic Design
</label>
</span>
<span>
<label class="choice" for="Field3" style="display:inline;margin-left:0px;margin-right:5px;">
<input id="Field3" name="Field[]" class="field checkbox" type="checkbox" value="Illustration" style="width:0px;">Illustration
</label>
</span>
<span>
<label class="choice" for="Field4" style="display:inline;margin-left:0px;margin-right:5px;">
<input id="Field4" name="Field[]" type="checkbox" class="field checkbox" value="Identity Dev/Branding" style="width:0px;">Identity Dev/Branding
</label>
</span>
<br>
<span>
<label class="choice" for="Field1_3" style="display:inline;margin-left:0px;margin-right:5px;">
<input id="Field5" name="Field[]" class="field checkbox" type="checkbox" value="Identity Dev/Branding" style="width:0px;">Web App Development
</label>
</span>
<span>
<label class="choice" for="Field1_4" style="display:inline;margin-left:0px;margin-right:5px;">
<input id="Field6" name="Field[]" class="field checkbox" type="checkbox" value="CGI" style="width:0px;">CGI
</label>
</span>
<span>
<label class="choice" for="Field1_5" style="display:inline;margin-left:0px;margin-right:5px;">
<input id="Field7" name="Field[]" class="field checkbox" type="checkbox" value="VFX" style="width:0px;">VFX
</label>
</span>
<span>
<label class="choice" for="Field1_6" style="display:inline;margin-left:0px;margin-right:5px;">
<input id="Field8" name="Field[]" class="field checkbox" type="checkbox" value="Video Production" style="width:0px;">Video Production
</label>
</span>
<span>
<label class="choice" for="Field1_7" style="display:inline;margin-left:0px;margin-right:5px;">
<input id="Field9" name="Field[]" class="field checkbox" type="checkbox" value="Motion Project" style="width:0px;">Motion Project
</label>
</span>
</div>