I have a contact form where I am trying to add a simple captcha of adding two numbers together and to also display the successMessage div when the form is sent. My form looks like this;
<form method="post" action="" id="contact">
<div id="successMessage" style="display:none;">Message sent</div>
<label for=name accesskey=U><span class="required">*</span> Your Name</label>
<input name="name" type="text" id="name" size="30" value="" />
<br />
<label for=email accesskey=E><span class="required">*</span> Email</label>
<input name="email" type="text" id="email" size="30" value="" />
<br />
<label for=phone accesskey=P><span class="required">*</span> Phone Number</label>
<input name="phone" type="text" id="phone" size="30" value="" />
<br />
<label for=comments accesskey=C><span class="required">*</span> Your Comments</label>
<textarea name="comments" cols="26" rows="8" id="comments"></textarea>
<hr />
<p style="margin:0px; padding:0px;"><span class="required">*</span>Are You Human?</p>
<label for=verify accesskey=V>3 + 1 =</label>
<input name="verify" type="text" id="verify" size="6" value="" />
<input name="contactus" type="submit" class="submit" id="contactus" value="Submit" />
</form>
<script type="text/javascript">
$(function() {
$.validator.addMethod("verify", function(value, element, params) {
return this.optional(element) || value == params[0] + params[1];
}, jQuery.validator.format("Please enter the correct value for {3} + {1}"));
$("#contact").validate({
success: function(label) {
label.hide();
},
rules: {
name: {required: true},
email: {
email: true,
required: true
},
phone: {
digits: true
},
comments: {required: true}
},
messages: {
name: "Please tell us your Name",
email: "Please enter a valid email address",
comments: "Please enter your comments"
}
});
});
</script>
You can see that I have tried using the addMethod to verify that someone enters 4 into the verify field, but it's not validating the field.
I would be grateful if someone can help me out to get that to work and to also display a global success message when the form submits.
Thank you.