Я использую превосходный 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:, но я не уверен, как бы я на него ссылался?