SHARE
TWEET

dignome

a guest Oct 23rd, 2010 268 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. From the head section of the page containing the form #reqFormID:
  2.  
  3. <script type="text/javascript">
  4.         $(document).ready(function() {
  5.                        
  6.                 $("#reqFormID").validationEngine({
  7.                         ajaxSubmit: true,
  8.                         ajaxSubmitFile: "site-helper.php",
  9.                         ajaxSubmitExtraData:"action=submit-reqform",
  10.                         ajaxSubmitMessage: "Thank you, a representative will contact you shortly.",
  11.                         success :  function() { $("#inside_lower_container").animate({height:555},400); } ,
  12.                         userSubmitFX : function() {
  13.                                 $(".submit").attr('value','Sending...');
  14.                                 $(".submit").attr('disabled','disabled');
  15.                         },
  16.                         userSubmitFXFail : function() {
  17.                                 $(".submit").attr('value','Submit Failed');
  18.                                
  19.                                 window.setTimeout(function() { // maybe the issue is gone - allow click
  20.                                         $(".submit").attr('value','Submit') ;
  21.                                         $(".submit").attr('disabled', '');
  22.                                 }, 30000);
  23.                         },
  24.                         failure : function() { // validation error - allow click
  25.                                 $(".submit").attr('value','Submit');
  26.                                 $(".submit").attr('disabled', '');
  27.                         }
  28.                 })
  29.         });            
  30. </script>
  31.  
  32. Relevant changes to jquery.validationEngine.js:
  33.  
  34. LINE 22:
  35.  
  36.         settings = jQuery.extend({
  37.                 allrules:allRules,
  38.                 validationEventTriggers:"focusout",                                    
  39.                 inlineValidation: true,
  40.                 returnIsValid:false,
  41.                 liveEvent:true,
  42.                 unbindEngine:true,
  43.                 containerOverflow:false,
  44.                 containerOverflowDOM:"",
  45.                 ajaxSubmit: false,
  46.                 scroll:true,
  47.                 promptPosition: "topRight",     // OPENNING BOX POSITION, IMPLEMENTED: topLeft, topRight, bottomLeft, centerRight, bottomRight
  48.                 success : false,
  49.                 userSubmitFX : function() {},
  50.                 userSubmitFXFail : function() {},
  51.                 beforeSuccess :  function() {},
  52.                 failure : function() {}
  53.         }, settings);
  54.  
  55. LINE 70:
  56.  
  57.         $(this).bind("submit", function(caller){   // ON FORM SUBMIT, CONTROL AJAX FUNCTION IF SPECIFIED ON DOCUMENT READY
  58.                 $.validationEngine.onSubmitValid = true;
  59.                 $.validationEngine.settings = settings;
  60.                
  61.                 // invoke user effects for submit button
  62.                 settings.userSubmitFX && settings.userSubmitFX();
  63.                
  64.                 if($.validationEngine.submitValidation(this,settings) == false){
  65.                         if($.validationEngine.submitForm(this,settings) == true) return false;
  66.                 }else{
  67.                         settings.failure && settings.failure();
  68.                         return false;
  69.                 }              
  70.         })
  71.  
  72. LINE 393:
  73.  
  74.                         $.ajax({
  75.                                 type: "POST",
  76.                                 url: $.validationEngine.settings.ajaxSubmitFile,
  77.                                 async: true,
  78.                                 data: $(caller).serialize()+"&"+extraData,
  79.                                 error: function(data,transport){ $.validationEngine.debug("error in the ajax: "+data.status+" "+transport) },
  80.                                 success: function(data){
  81.                                         if(data == "true"){                     // EVERYTING IS FINE, SHOW SUCCESS MESSAGE
  82.                                                 $(caller).css("opacity",1)
  83.                                                 $(caller).animate({opacity: 0, height: 0}, function(){
  84.                                                         $(caller).css("display","none");
  85.                                                         $(caller).before("<div class='ajaxSubmit'>"+$.validationEngine.settings.ajaxSubmitMessage+"</div>");
  86.                                                         $.validationEngine.closePrompt(".formError",true);      
  87.                                                         $(".ajaxSubmit").show("slow");
  88.                                                         if ($.validationEngine.settings.success){       // AJAX SUCCESS, STOP THE LOCATION UPDATE
  89.                                                                 $.validationEngine.settings.success && $.validationEngine.settings.success();
  90.                                                                 return false;
  91.                                                         }
  92.                                                 })
  93.                                         }else{                                          // HOUSTON WE GOT A PROBLEM (SOMETING IS NOT VALIDATING)
  94.                                                 data = eval( "("+data+")");    
  95.                                                 if(!data.jsonValidateReturn){
  96.                                                          $.validationEngine.debug("you are not going into the success fonction and jsonValidateReturn return nothing");
  97.                                                 }
  98.                                                 errorNumber = data.jsonValidateReturn.length   
  99.                                                 for(index=0; index<errorNumber; index++){      
  100.                                                         fieldId = data.jsonValidateReturn[index][0];
  101.                                                         promptError = data.jsonValidateReturn[index][1];
  102.                                                         type = data.jsonValidateReturn[index][2];
  103.                                                         $.validationEngine.buildPrompt(fieldId,promptError,type);
  104.                                                 }
  105.                                                
  106.                                                 // call function to modify submit button on failure
  107.                                                 $.validationEngine.settings.userSubmitFXFail && $.validationEngine.settings.userSubmitFXFail();
  108.                                         }
  109.                                 }
  110.                         })
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top