var options = { beforeSubmit: validate, //validate before submission success: showResponse, //on correct validation, display something resetForm: true //Resets the form to its original state by invoking the form element's native DOM method }; // pass options to ajaxForm jQuery('#contact-form').ajaxForm(options); function showResponse(responseText, statusText){ jQuery('#success').show(); } function validate(formData, jqForm, options) { jQuery("span.error").hide(); var nameValue = jQuery('input[name=Name]').fieldValue(); //name attribute must be Name var emailValue = jQuery('input[name=Email]').fieldValue(); //name attribute must be Email var messageValue = jQuery('textarea[name=Message]').fieldValue(); //name attribute must be Message var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; //validation regex; is it a valid email address? var correct = true; if (!nameValue[0]) { jQuery("span.error.wrong_name").show(); correct = false; } if (!emailValue[0]) { jQuery("span.error.wrong_email").show(); correct = false; } else if(!emailReg.test(emailValue[0])) { jQuery("span.error.wrong_email").show(); correct = false; } if (!messageValue[0]) { jQuery("span.error.wrong_message").show(); correct = false; } if (!correct) {return false;} } jQuery("#success").click( function () { jQuery(this).hide(); //simulate click and animate });