我正在实现 dropzone um 页面,并且在每个图像中我需要添加标题和描述,但是当我尝试发送多张照片时,而不是每个请求或图像都有一个标题,而是给我所有相同的名称。
我的代码:
$('#submit').on('click',function(e){
e.preventDefault();
myDropzone.processQueue();
});
Dropzone.autoDiscover = false;
// Dropzone class:
var myDropzone = new Dropzone("div#myId", {
url: "/products",
autoProcessQueue:false,
previewTemplate: "<div class=\"dz-preview dz-file-preview\">\n " +
"<div class=\"dz-image\"><img data-dz-thumbnail /></div>\n " +
"<input type=\"text\" id=\"title\" data-dz-title name=\"dz-title\">\n " +
"<input type=\"text\" id=\"url\" name=\"dz-url\">\n " +
" <div class=\"dz-details\">"
}).on("sending", function(file, xhr, formData) {
formData.append("title", $('#title').val());
});
最佳答案
您的 Id 不是唯一的,因此您无法可靠地从 ID 选择器获取输入数据。
将模板中输入的 ID 更改为如下类:
previewTemplate: "<div class='dz-preview dz-file-preview'>\n " +
"<div class='dz-image'><img data-dz-thumbnail /></div>\n " +
"<input type='text' class='dz-brand' value='This is the text'> \n " +
"<input type='text' class='dz-url'>\n </div>"
然后在发送事件中添加参数,这将获取上传时的输入值。
myDropzone.on("sending", function(file, xhr, formData) {
formData.append('brand' , $(file.previewElement).find('.dz-brand').val());
formData.append('url' , $(file.previewElement).find('.dz-url').val());
formData.append('description', 'small detail');
});
关于javascript - 向我发送重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39670821/