Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- jQuery(document).ready(function($){
- function recaptchaResetCallback () {
- if($('#g-recaptcha').length) {
- grecaptcha.reset();
- }
- }
- function swapButton(){
- var txtswap = $(".form-footer #submit-all");
- if (txtswap.text() == txtswap.data("btntext-sending")) {
- txtswap.text(txtswap.data("btntext-original"));
- } else {
- txtswap.data("btntext-original", txtswap.text());
- txtswap.text(txtswap.data("btntext-sending"));
- }
- }
- var usingFallback = true,
- smartForm = $('#smart-form'),
- smartSubmitButton = $('#submit-all'),
- dzTitleCliker = $('.dz-drop-title,.dz-clicker'),
- dzNoAttachment = "Please attach some files",
- dzAcceptedFiles = ".jpg,.jpeg,.pjpeg,.JPG,.JPEG,.png,.gif,.bmp,.tiff",
- dzErrorMsg = $("<div class='dz-attachment-er'><p></p></div>"),
- dzFileTooBig = "<div class='dz-attachment-er'><p>File too big upload 2MB or less</p></div>",
- dzFilesExceeded = "<div class='dz-attachment-er'><p>Attach a maximum of 3 files </p></div>",
- dzFileInvalid = "<div class='dz-attachment-er'><p>File not supported, upload images only </p></div>",
- responseDiv = $('.result'),
- smartFormOptions = { };
- smartForm.ajaxForm(smartFormOptions);
- Dropzone.autoDiscover = false;
- var myDropzone = new Dropzone("#myDropzone",{
- url: 'php/smartprocess.php',
- //required: false,
- autoProcessQueue: false,
- uploadMultiple: true,
- parallelUploads: 3,
- maxFiles: 3,
- maxFilesize: 10,
- addRemoveLinks: true,
- dictRemoveFile: 'x',
- dictCancelUpload:'x',
- dictDefaultMessage: '',
- dictMaxFilesExceeded: dzFilesExceeded,
- dictInvalidFileType: dzFileInvalid,
- dictFileTooBig: dzFileTooBig,
- acceptedFiles: dzAcceptedFiles,
- init: function() {
- usingFallback = false;
- var myDropzone = this;
- if( usingFallback == true ){
- dzTitleCliker.hide();
- } else {
- dzTitleCliker.show();
- }
- smartSubmitButton.on('click', function (e) {
- e.preventDefault();
- e.stopPropagation();
- /* if (myDropzone.files.length == 0){
- $("#myDropzone").addClass('dz-attachment-n').removeClass('dz-attachment-y');
- errorMsgs = dzNoAttachment;
- $("#myDropzone").after(dzErrorMsg);
- dzErrorMsg.find('p').html(errorMsgs);
- }
- */
- if (smartForm.valid()) {
- if (myDropzone.getQueuedFiles().length > 0) {
- myDropzone.processQueue();
- }
- else {
- smartForm.ajaxSubmit(smartFormOptions);
- }
- }
- });
- this.on("addedfile", function (file) {
- $("#myDropzone").addClass('dz-attachment-y').removeClass('dz-attachment-n');
- smartForm.find(dzErrorMsg).remove();
- });
- this.on("removedfile", function(file) {
- $("#myDropzone").addClass('dz-attachment-y').removeClass('dz-attachment-n');
- smartForm.find('.dz-attachment-er').remove();
- });
- this.on("maxfilesexceeded", function(file){
- this.removeFile(file);
- this.addFile(file);
- });
- this.on("sending", function(file, xhr, formData) {
- formData.append("firstname", jQuery("#firstname").val());
- formData.append("lastname", jQuery("#lastname").val());
- formData.append("businessname", jQuery("#businessname").val());
- formData.append("emailaddress", jQuery("#emailaddress").val());
- formData.append("phone", jQuery("#phone").val());
- formData.append("street1", jQuery("#street1").val());
- formData.append("city1", jQuery("#city1").val());
- formData.append("state1", jQuery("#state1").val());
- formData.append("zip1", jQuery("#zip1").val());
- formData.append("street2", jQuery("#street2").val());
- formData.append("city2", jQuery("#city2").val());
- formData.append("state2", jQuery("#state2").val());
- formData.append("zip2", jQuery("#zip2").val());
- formData.append("pickup", jQuery("#pickup").val());
- formData.append("delivery", jQuery("#delivery").val());
- formData.append("year", jQuery("#year").val());
- formData.append("make", jQuery("#make").val());
- formData.append("model", jQuery("#model").val());
- formData.append("car_value", jQuery("#car_value").val());
- formData.append("condition", jQuery("#condition").val());
- formData.append("details", jQuery("#details").val());
- formData.append("captcha", jQuery("#captcha").val());
- swapButton();
- });
- this.on("error", function(file, response) {
- $("#myDropzone").addClass('dz-attachment-n').removeClass('dz-attachment-y');
- setTimeout(function(){
- responseDiv.html(response);
- $(".dz-preview").each(function(){
- var previewR = $(this);
- if (previewR.hasClass('dz-error')) {
- $("#myDropzone").next('.dz-attachment-er').remove();
- $("#myDropzone").after(dzErrorMsg);
- dzErrorMsg.html(response);
- responseDiv.find('.dz-attachment-er').remove();
- }
- });
- },1);
- });
- this.on("success", function(file, response) {
- swapButton();
- responseDiv.html(response).delay(7000).fadeOut();
- if( $('.alert-error').length == 0){
- $('.field').removeClass("state-error, state-success");
- myDropzone.removeAllFiles();
- smartForm.resetForm();
- //reloadCaptcha();
- recaptchaResetCallback();
- }
- });
- this.on("complete", function(file) {
- });
- this.on("queuecomplete", function (file) {
- });
- }
- });
- smartForm.validate({
- errorClass: "state-error",
- validClass: "state-success",
- errorElement: "em",
- onkeyup: false,
- onclick: false,
- rules: {
- firstname: {
- required: true,
- minlength: 2
- },
- lastname: {
- required: true,
- minlength: 2
- },
- emailaddress: {
- required: true,
- email: true
- },
- phone: {
- required: true,
- minlength: 10
- },
- details: {
- required: false,
- minlength: 4
- },
- "g-recaptcha-response":{
- required:true,
- remote:'php/process_reCaptcha.php'
- }
- },
- messages:{
- firstname: {
- required: 'Enter your first name',
- minlength: 'Name must be at least 2 characters'
- },
- lastname: {
- required: 'Enter your last name',
- minlength: 'Name must be at least 2 characters'
- },
- emailaddress: {
- required: 'Enter your email address',
- email: 'Enter a VALID email address'
- },
- phone: {
- required: 'Must enter your phone number',
- minlength: 'Phone must be at least 10 characters (Area Code First)'
- },
- details: {
- required: 'Oops you forgot your message',
- minlength: 'Message must be at least 10 characters'
- },
- "g-recaptcha-response":{
- required: 'Check reCaptcha for verification',
- remote:'Invalid reCaptcha verification'
- }
- },
- highlight: function(element, errorClass, validClass) {
- $(element).closest('.field').addClass(errorClass).removeClass(validClass);
- },
- unhighlight: function(element, errorClass, validClass) {
- $(element).closest('.field').removeClass(errorClass).addClass(validClass);
- },
- errorPlacement: function(error, element) {
- if (element.is(":radio") || element.is(":checkbox")) {
- element.closest('.option-group').after(error);
- } else {
- error.insertAfter(element.parent());
- }
- }
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement