Advertisement
Guest User

Untitled

a guest
Jul 19th, 2017
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.04 KB | None | 0 0
  1.     jQuery(document).ready(function($){
  2.  
  3.                 function recaptchaResetCallback () {
  4.                     if($('#g-recaptcha').length) {
  5.                         grecaptcha.reset();
  6.                     }
  7.                 }
  8.            
  9.             function swapButton(){
  10.                 var txtswap = $(".form-footer #submit-all");
  11.                 if (txtswap.text() == txtswap.data("btntext-sending")) {
  12.                     txtswap.text(txtswap.data("btntext-original"));
  13.                 } else {
  14.                     txtswap.data("btntext-original", txtswap.text());
  15.                     txtswap.text(txtswap.data("btntext-sending"));
  16.                 }
  17.             }
  18.  
  19.             var usingFallback = true,
  20.                 smartForm = $('#smart-form'),
  21.                 smartSubmitButton = $('#submit-all'),
  22.                 dzTitleCliker = $('.dz-drop-title,.dz-clicker'),
  23.                 dzNoAttachment = "Please attach some files",
  24.                 dzAcceptedFiles = ".jpg,.jpeg,.pjpeg,.JPG,.JPEG,.png,.gif,.bmp,.tiff",
  25.                 dzErrorMsg = $("<div class='dz-attachment-er'><p></p></div>"),
  26.                 dzFileTooBig = "<div class='dz-attachment-er'><p>File too big upload 2MB or less</p></div>",
  27.                 dzFilesExceeded = "<div class='dz-attachment-er'><p>Attach a maximum of 3 files </p></div>",
  28.                 dzFileInvalid = "<div class='dz-attachment-er'><p>File not supported, upload images only </p></div>",
  29.                 responseDiv = $('.result'),
  30.                 smartFormOptions = { };
  31.                
  32.                 smartForm.ajaxForm(smartFormOptions);
  33.                 Dropzone.autoDiscover = false;
  34.                
  35.                 var myDropzone = new Dropzone("#myDropzone",{
  36.                     url: 'php/smartprocess.php',
  37.                     //required: false,
  38.                     autoProcessQueue: false,
  39.                     uploadMultiple: true,
  40.                     parallelUploads: 3,
  41.                     maxFiles: 3,
  42.                     maxFilesize: 10,
  43.                     addRemoveLinks: true,                  
  44.                     dictRemoveFile: 'x',
  45.                     dictCancelUpload:'x',
  46.                     dictDefaultMessage: '',
  47.                     dictMaxFilesExceeded: dzFilesExceeded,
  48.                     dictInvalidFileType: dzFileInvalid,
  49.                     dictFileTooBig: dzFileTooBig,
  50.                     acceptedFiles: dzAcceptedFiles,
  51.                     init: function() {
  52.                        
  53.                         usingFallback = false;
  54.                         var myDropzone = this;
  55.                         if( usingFallback == true ){
  56.                             dzTitleCliker.hide();  
  57.                         } else {
  58.                             dzTitleCliker.show();
  59.                         }
  60.                        
  61.                         smartSubmitButton.on('click', function (e) {
  62.                             e.preventDefault();
  63.                             e.stopPropagation();
  64. /*                          if (myDropzone.files.length == 0){
  65.                                 $("#myDropzone").addClass('dz-attachment-n').removeClass('dz-attachment-y');
  66.                                 errorMsgs = dzNoAttachment;
  67.                                 $("#myDropzone").after(dzErrorMsg);
  68.                                 dzErrorMsg.find('p').html(errorMsgs);
  69.                             }                      
  70. */                             
  71.                             if (smartForm.valid()) {
  72.                                 if (myDropzone.getQueuedFiles().length > 0) {
  73.                                     myDropzone.processQueue();
  74.                                 }
  75.                                 else {
  76.                                     smartForm.ajaxSubmit(smartFormOptions);
  77.                                 }
  78.                             }
  79.                         });
  80.                        
  81.                         this.on("addedfile", function (file) {
  82.                             $("#myDropzone").addClass('dz-attachment-y').removeClass('dz-attachment-n');
  83.                             smartForm.find(dzErrorMsg).remove();
  84.                         });
  85.                        
  86.                        
  87.                         this.on("removedfile", function(file) {
  88.                             $("#myDropzone").addClass('dz-attachment-y').removeClass('dz-attachment-n');
  89.                             smartForm.find('.dz-attachment-er').remove();
  90.                         });                    
  91.                        
  92.                         this.on("maxfilesexceeded", function(file){
  93.                             this.removeFile(file);
  94.                             this.addFile(file);
  95.                         });
  96.                        
  97.                        
  98.                         this.on("sending", function(file, xhr, formData) {
  99.                             formData.append("firstname", jQuery("#firstname").val());
  100.                             formData.append("lastname", jQuery("#lastname").val());
  101.                             formData.append("businessname", jQuery("#businessname").val());
  102.                             formData.append("emailaddress", jQuery("#emailaddress").val());
  103.                             formData.append("phone", jQuery("#phone").val());
  104.                             formData.append("street1", jQuery("#street1").val());
  105.                             formData.append("city1", jQuery("#city1").val());
  106.                             formData.append("state1", jQuery("#state1").val());
  107.                             formData.append("zip1", jQuery("#zip1").val());
  108.                             formData.append("street2", jQuery("#street2").val());
  109.                             formData.append("city2", jQuery("#city2").val());
  110.                             formData.append("state2", jQuery("#state2").val());
  111.                             formData.append("zip2", jQuery("#zip2").val());
  112.                             formData.append("pickup", jQuery("#pickup").val());
  113.                             formData.append("delivery", jQuery("#delivery").val());
  114.                             formData.append("year", jQuery("#year").val());
  115.                             formData.append("make", jQuery("#make").val());
  116.                             formData.append("model", jQuery("#model").val());
  117.                             formData.append("car_value", jQuery("#car_value").val());
  118.                             formData.append("condition", jQuery("#condition").val());
  119.                             formData.append("details", jQuery("#details").val());
  120.                             formData.append("captcha", jQuery("#captcha").val());
  121.                             swapButton();
  122.                         });
  123.    
  124.                        
  125.                         this.on("error", function(file, response) {
  126.                             $("#myDropzone").addClass('dz-attachment-n').removeClass('dz-attachment-y');
  127.                             setTimeout(function(){                         
  128.                                 responseDiv.html(response);
  129.                                 $(".dz-preview").each(function(){                            
  130.                                     var previewR =  $(this);
  131.                                     if (previewR.hasClass('dz-error')) {
  132.                                         $("#myDropzone").next('.dz-attachment-er').remove();
  133.                                         $("#myDropzone").after(dzErrorMsg);
  134.                                         dzErrorMsg.html(response);
  135.                                         responseDiv.find('.dz-attachment-er').remove();
  136.                                     }
  137.                                 });
  138.                             },1);
  139.                         });
  140.                        
  141.                        
  142.                         this.on("success", function(file, response) {
  143.                             swapButton();
  144.                             responseDiv.html(response).delay(7000).fadeOut();
  145.                             if( $('.alert-error').length == 0){
  146.                                 $('.field').removeClass("state-error, state-success");
  147.                                 myDropzone.removeAllFiles();
  148.                                 smartForm.resetForm();
  149.                                 //reloadCaptcha();
  150.                                 recaptchaResetCallback();
  151.                             }                          
  152.                         });                    
  153.                                    
  154.  
  155.                         this.on("complete", function(file) {
  156.                                                      
  157.                         });
  158.                            
  159.                         this.on("queuecomplete", function (file) {
  160.                                                            
  161.                         });                
  162.                        
  163.                     }
  164.                 });
  165.                
  166.                
  167.                
  168.                 smartForm.validate({
  169.                         errorClass: "state-error",
  170.                         validClass: "state-success",
  171.                         errorElement: "em",
  172.                         onkeyup: false,
  173.                         onclick: false,
  174.                         rules: {
  175.                                 firstname: {
  176.                                         required: true,
  177.                                         minlength: 2
  178.                                 },
  179.                                 lastname: {
  180.                                         required: true,
  181.                                         minlength: 2
  182.                                 },     
  183.                                 emailaddress: {
  184.                                         required: true,
  185.                                         email: true
  186.                                 },
  187.                                 phone: {
  188.                                         required: true,
  189.                                         minlength: 10
  190.                                 },                             
  191.                                 details: {
  192.                                         required: false,
  193.                                         minlength: 4
  194.                                 },
  195.                                 "g-recaptcha-response":{
  196.                                     required:true,
  197.                                     remote:'php/process_reCaptcha.php'
  198.                                 }
  199.                         },
  200.                         messages:{
  201.                                 firstname: {
  202.                                         required: 'Enter your first name',
  203.                                         minlength: 'Name must be at least 2 characters'
  204.                                 },         
  205.                                 lastname: {
  206.                                         required: 'Enter your last name',
  207.                                         minlength: 'Name must be at least 2 characters'
  208.                                 },             
  209.                                 emailaddress: {
  210.                                         required: 'Enter your email address',
  211.                                         email: 'Enter a VALID email address'
  212.                                 },
  213.                                 phone: {
  214.                                         required: 'Must enter your phone number',
  215.                                         minlength: 'Phone must be at least 10 characters (Area Code First)'
  216.                                 },                                                     
  217.                                 details: {
  218.                                         required: 'Oops you forgot your message',
  219.                                         minlength: 'Message must be at least 10 characters'
  220.                                 },                                                         
  221.                                 "g-recaptcha-response":{
  222.                                         required: 'Check reCaptcha for verification',
  223.                                         remote:'Invalid reCaptcha verification'
  224.                                 }
  225.                         },
  226.                         highlight: function(element, errorClass, validClass) {
  227.                                 $(element).closest('.field').addClass(errorClass).removeClass(validClass);
  228.                         },
  229.                         unhighlight: function(element, errorClass, validClass) {
  230.                                 $(element).closest('.field').removeClass(errorClass).addClass(validClass);
  231.                         },
  232.                         errorPlacement: function(error, element) {
  233.                            if (element.is(":radio") || element.is(":checkbox")) {
  234.                                     element.closest('.option-group').after(error);
  235.                            } else {
  236.                                     error.insertAfter(element.parent());
  237.                            }
  238.                         }
  239.                        
  240.                 });    
  241.        
  242.     });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement