Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- From the head section of the page containing the form #reqFormID:
- <script type="text/javascript">
- $(document).ready(function() {
- $("#reqFormID").validationEngine({
- ajaxSubmit: true,
- ajaxSubmitFile: "site-helper.php",
- ajaxSubmitExtraData:"action=submit-reqform",
- ajaxSubmitMessage: "Thank you, a representative will contact you shortly.",
- success : function() { $("#inside_lower_container").animate({height:555},400); } ,
- userSubmitFX : function() {
- $(".submit").attr('value','Sending...');
- $(".submit").attr('disabled','disabled');
- },
- userSubmitFXFail : function() {
- $(".submit").attr('value','Submit Failed');
- window.setTimeout(function() { // maybe the issue is gone - allow click
- $(".submit").attr('value','Submit') ;
- $(".submit").attr('disabled', '');
- }, 30000);
- },
- failure : function() { // validation error - allow click
- $(".submit").attr('value','Submit');
- $(".submit").attr('disabled', '');
- }
- })
- });
- </script>
- Relevant changes to jquery.validationEngine.js:
- LINE 22:
- settings = jQuery.extend({
- allrules:allRules,
- validationEventTriggers:"focusout",
- inlineValidation: true,
- returnIsValid:false,
- liveEvent:true,
- unbindEngine:true,
- containerOverflow:false,
- containerOverflowDOM:"",
- ajaxSubmit: false,
- scroll:true,
- promptPosition: "topRight", // OPENNING BOX POSITION, IMPLEMENTED: topLeft, topRight, bottomLeft, centerRight, bottomRight
- success : false,
- userSubmitFX : function() {},
- userSubmitFXFail : function() {},
- beforeSuccess : function() {},
- failure : function() {}
- }, settings);
- LINE 70:
- $(this).bind("submit", function(caller){ // ON FORM SUBMIT, CONTROL AJAX FUNCTION IF SPECIFIED ON DOCUMENT READY
- $.validationEngine.onSubmitValid = true;
- $.validationEngine.settings = settings;
- // invoke user effects for submit button
- settings.userSubmitFX && settings.userSubmitFX();
- if($.validationEngine.submitValidation(this,settings) == false){
- if($.validationEngine.submitForm(this,settings) == true) return false;
- }else{
- settings.failure && settings.failure();
- return false;
- }
- })
- LINE 393:
- $.ajax({
- type: "POST",
- url: $.validationEngine.settings.ajaxSubmitFile,
- async: true,
- data: $(caller).serialize()+"&"+extraData,
- error: function(data,transport){ $.validationEngine.debug("error in the ajax: "+data.status+" "+transport) },
- success: function(data){
- if(data == "true"){ // EVERYTING IS FINE, SHOW SUCCESS MESSAGE
- $(caller).css("opacity",1)
- $(caller).animate({opacity: 0, height: 0}, function(){
- $(caller).css("display","none");
- $(caller).before("<div class='ajaxSubmit'>"+$.validationEngine.settings.ajaxSubmitMessage+"</div>");
- $.validationEngine.closePrompt(".formError",true);
- $(".ajaxSubmit").show("slow");
- if ($.validationEngine.settings.success){ // AJAX SUCCESS, STOP THE LOCATION UPDATE
- $.validationEngine.settings.success && $.validationEngine.settings.success();
- return false;
- }
- })
- }else{ // HOUSTON WE GOT A PROBLEM (SOMETING IS NOT VALIDATING)
- data = eval( "("+data+")");
- if(!data.jsonValidateReturn){
- $.validationEngine.debug("you are not going into the success fonction and jsonValidateReturn return nothing");
- }
- errorNumber = data.jsonValidateReturn.length
- for(index=0; index<errorNumber; index++){
- fieldId = data.jsonValidateReturn[index][0];
- promptError = data.jsonValidateReturn[index][1];
- type = data.jsonValidateReturn[index][2];
- $.validationEngine.buildPrompt(fieldId,promptError,type);
- }
- // call function to modify submit button on failure
- $.validationEngine.settings.userSubmitFXFail && $.validationEngine.settings.userSubmitFXFail();
- }
- }
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement