Загрузка файла Jquery в рельсы по нажатию кнопки

0

Я использую плагин jquery-fileupload (https://github.com/tors/jquery-fileupload-rails) для отображения прогресса загрузки файлов в моем приложении rails. Следующий код ниже работает отлично.

В моем index.html.erb у меня есть

  <script id="template-upload" type="text/x-tmpl">
  <div class="upload">
    {%=o.name%}
    <div class="progress"><div class="bar" style="width: 0%;"></div></div>
  </div>
  </script>

В моих проектах js.coffee file у меня есть

$('#import_form').fileupload
    dataType: "json"
    add: (e, data) ->
      data.context = $(tmpl("template-upload", data.files[0]))
      $('#import_form').append(data.context)
      data.submit()
    progress: (e, data) ->
      if data.context
        progress = parseInt(data.loaded / data.total * 100, 10)
        data.context.find('.bar').css('width', progress + '%')

Но я хочу, чтобы загрузка началась, когда я нажимаю кнопку с идентификатором import_button вместо автоматического. Как я могу это достичь?

Я попытался сделать следующее, но я получил сообщение об ошибке "данные не определены"

$('#import_form').fileupload
    dataType: "json"
    add: (e, data) ->       
      data.context = $(tmpl("template-upload", data.files[0]))
      $('#import_form').append(data.context)
      $("#import_button").off("click").on "click", ->
        data.submit()
    progress: (e, data) ->
      if data.context
        progress = parseInt(data.loaded / data.total * 100, 10)
        data.context.find('.bar').css('width', progress + '%')

Пожалуйста, помогите Спасибо

Теги:
ruby-on-rails-3
jquery-file-upload

1 ответ

0

Одним из специальных обратных вызовов является обратный вызов add, поскольку он предоставляет метод отправки для аргумента данных, который начнет загрузку файла:

$('#fileupload').fileupload({
    add: function (e, data) {
       data.submit();
    }
});

Это из jQuery Plugin Wiki

Поэтому, если вы не хотите, чтобы загрузка автоматически загружалась, add обратный вызов, но не вызывайте метод submit.

  • 0
    Я добавил к своему вопросу, где я получаю данные не определены, когда я добавляю обработчик onlclick. Есть ли способ это исправить?
  • 0
    Добавить оператор if (data) {...}
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню