0

I want to know the right way on how I handle still sending even when I have 0 files uploaded. I have a form that has a lot of data to input and the images are optional.

I could probably send this with an entirely separate Ajax request that is a duplicate of 'sendingmultiple', otherwise I am unsure if this is possible within the confines of dropzones solutions in handling this case.

  Dropzone.options.dropzone =
    url: '/test/create'
    autoProcessQueue: false
    clickable: true
    uploadMultiple: true
    timeout: 180000
    parallelUploads: 8
    maxFiles: 8
    maxFilesize: 5
    acceptedFiles: 'image/*'
    addRemoveLinks: true
    headers: 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
    init: ->
      dzClosure = this

      document.getElementById('submit-button').addEventListener 'click', (e) ->
        e.preventDefault()
        e.stopPropagation()
        dzClosure.processQueue()
        return

      @on 'sendingmultiple', (data, xhr, formData) ->
        formData.append 'item_number', jQuery('#item_number').val()
        ... more form data
        return
      @on 'success', (file, responseText) ->
        window.location.href = url
        return
      return

1 Answer 1

0

Okay I have found a solution that I think works the best. Anyone else with something better please provide.

  document.getElementById('submit-button').addEventListener 'click', (e) ->
    uploaded_files = $('.dz-preview').length
    if uploaded_files > 0
      e.preventDefault()
      e.stopPropagation()
      dzClosure.processQueue()
      return

I just changed it so we only override the button to this function if we detect any image previews, which works for my situation. So we still have the normal create/update on the controller as normal that fires when no images are uploaded. Then I have an image_upload_create function in the controller that updates or creates depending if it has a id in the forms.

The solution is all in coffeescript for those confused about syntax.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.