Как настроить JQuery Filedrop для отправки динамических переменных данных поста? - PullRequest
1 голос
/ 14 ноября 2011

Я использую превосходный Jquery-Filedrop [weixiyen], используемый tutorialzine, и застрял в проблеме, пытаясь отправить динамические переменные POST, объясненной следующим образом:

У меня есть раскрывающийся список выбора html-формы (photo_tab_index), где пользователь может выбрать номер слайд-шоу (скажем, 1-5), а затем холст dropbox, куда пользователь помещает свои фотографии для загрузки на веб-сервер.

В файле dropdrop у меня есть следующее:

$(function(){
  var dropbox = $('#dropbox'),
  message = $('.message', dropbox);

  var slideshow = document.getElementById('photo_tab_index').value;

  dropbox.filedrop({
    // The name of the $_FILES entry:
    paramname:'pic',
    data: {
      param1: slideshow,           // send POST variables
    },
    ...

    // Called before each upload is started
    beforeEach: function(file){
      if(!file.type.match(/^image\//)){
        alert('Only images are allowed!');
        return false;
      }
    },
    ...

Проблема, с которой я столкнулся, заключается в том, что javascript читает значение photo_tab_index, когда оно отображает страницу (и, следовательно, всегда отправляется как «1»), но я действительно хочу, чтобы он прочитал раскрывающееся значение слайд-шоу в точке что фотографии сбрасываются на коробку. В моих ограниченных знаниях JQuery у меня есть ощущение, что я хочу обновить поле dropbox.filedata "data: param1" в функции beforeEach:, но я не уверен, как бы я на него ссылался?

Ответы [ 2 ]

9 голосов
/ 26 ноября 2011

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

data: {
   param2: function(){
       var slideshow = document.getElementById('photo_tab_index').value;     
       return slideshow; // calculate data at time of upload,           
   },     
},
0 голосов
/ 15 июня 2013

Отлично. Это нам очень помогает. Да, чтобы правильно определить динамические данные, вам нужно добавить новую функцию с возвращением ожидаемой. Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...