<div class="row"> <div class="form-group short"> <div class="col-md-12"> <label>Your email address *</label> <input type="text" id="email" name="email" class="col-md-12 form-control" maxlength="100" value=""> <input type="hidden" name="subscribe" value=""> <label class="checkbox-inline small"> <input type="checkbox" value="yes" [[!+fi.subscribe:FormItIsChecked=`yes`]] name="subscribe" id="subscribe" checked="">Receive our special offers by email </label> </div> </div> </div>
<input type="hidden" name="subscribe[]" value=""> <label class="checkbox-inline small"> <input type="checkbox" value="yes" [[!+fi.subscribe:FormItIsChecked=`yes`]] name="subscribe[]" id="subscribe" checked="">Receive our special offers by email </label>
<input type="hidden" name="subscribe[]" value=""> <label class="checkbox-inline small"> <input type="checkbox" value="[[!+fi.subscribe:FormItIsChecked=`yes`]]" name="subscribe[]" id="subscribe" checked="">Receive our special offers by email </label>
<input type="hidden" name="subscribe" value=""> <label class="checkbox-inline small"> <input type="checkbox" value="[[!+fi.subscribe:FormItIsChecked=`yes`]]" name="subscribe" id="subscribe" checked="">Receive our special offers by email </label>
[[!FormIt? &hooks=`email,spam,FormItAutoResponder` &spamEmailFields=`email` &emailFromName=`[[+name]]` &emailTpl=`contactFormTpl` ...
<input type="hidden" name="subscribe[]" value="">
<label class="checkbox-inline small">
<input type="checkbox" value="1" [[!+fi.subscribe:FormItIsChecked=`1`]] name="subscribe[]" id="subscribe" checked="checked">Receive our special offers by email
</label><input type="hidden" name="subscribe[]" value="[[!+fi.subscribe]]">
I think you need a value placeholder in your hidden input to catch the results.
<input type="hidden" name="subscribe[]" value="[[!+fi.subscribe]]">
'subscribe' = 1
What is the code you're using to get the checkbox value?
BTW, the value attribute holds the value the checkbox will have if checked. So if you have value="1", you'll get this in the $_POST:
'subscribe' = 1
$("#contactForm").validate({
submitHandler: function(form) {
var submitButton = $(this.submitButton);
submitButton.button("loading");
$('#loader').show();
$("#contactSuccess").remove();
$("#contactError").remove();
$.ajax({
type: "POST",
url: "contact-formit-proc.html",
data: {
"name": $("#contactForm #name").val(),
"email": $("#contactForm #email").val(),
"message": $("#contactForm #message").val(),
"subscribe": $("#contactForm #subscribe").val(),
"submitpage": $("#contactForm #submitpage").val(),
"remote_addr": $("#contactForm #remote_addr").val(),
"user_agent": $("#contactForm #user_agent").val(),
"workemail": $("#contactForm #workemail").val()
},
dataType: "html",
success: function (data) {
if (data.indexOf('id="fi-success"') >= 0){
$("#fi-message").html('<div id="contactSuccess" class="alert alert-success"><strong>Thank you for your message!</strong></div>');
$("#contactForm #name, #contactForm #email, #contactForm #message")
.val("")
.blur()
.closest(".control-group")
.removeClass("success")
.removeClass("error");
} else {
$("#fi-message").html('<div id="contactError" class="alert alert-error"><strong>Error:</strong>Sorry, there was a problem sending your message.</div>');
}
$("label[class='error']").text("");
},
complete: function () {
submitButton.button("reset");
$('#loader').hide();
}
});
},
rules: {
name: {
required: true
},
email: {
required: true,
email: true
},
message: {
required: true
}
},
messages: {
name: "Please type in your name",
email: "Please type in a valid email address",
message: "Please type in your message"
},
highlight: function (element) {
$(element)
.closest(".control-group")
.removeClass("success")
.addClass("error");
},
success: function (element) {
$(element)
.closest(".control-group")
.removeClass("error")
.addClass("success");
}
});[[!FormIt? &hooks=`email,spam,FormItAutoResponder` &spamEmailFields=`email` &emailFromName=`[[+name]]` &emailTpl=`contactFormTpl` ...
I am concerned about two things, first why we have 2 <input type="checkbox" value="..." name="..."> and about why we have subscribe[] instead of subscribe
If you would, could you pls test this out?
<label class="checkbox-inline small">
<input type="checkbox" value="1" [[!+fi.subscribe:formitischecked="`1`]]" name="subscribe" id="subscribe" checked="checked">Receive our special offers by email
</label>
Without the above other <input type...=""> line.
Thanks in advance.