DropzoneJS - 在同一页面上创建两个实例
DropzoneJS - create two instances on the same page
目前我已经像这样实例化了我唯一的放置区:
$(function () { // Dropzone
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone('div#dropzone1', {
url: '/wiki/uploadpdf',
acceptedFiles: 'application/pdf'});
document.querySelector('div#dropzone1').classList.add('dropzone');
myDropzone.on('sending', function (file, xhr, formData) {
formData.append('subject', 'subject1');
formData.append('text', 'some text');
}
});
});
我这样做是因为我想使用 'sending' 选项将附加数据发送到 PHP 文件。
这很好用,但是当我想实例化另一个放置区时,它没有显示任何东西。对于第二个,我还想发送额外的数据,所以我可能必须找到一个解决方案来做与第一个相同的事情。
只需创建另一个 Dropzone 对象
var myDropzone = new Dropzone('div#dropzone2', { // etc }
在另一个
$(function () { }
无效。
如果您已经在使用 jQuery,我发现使用 jQuery 的 dropzone 插件更容易,这里是一个如何在具有不同配置的页面中拥有两个 dropzones 的示例。
html:
<form id="dropzone1" class="dropzone"></form>
<form id="dropzone2" class="dropzone"></form>
脚本:
Dropzone.autoDiscover = false;
$('#dropzone1').dropzone({
url: '/wiki/uploadpdf',
acceptedFiles: 'application/pdf',
init: function(){
this.on("sending", function(file, xhr, formData){
formData.append('subject', 'subject1');
formData.append('text', 'some text');
})
}
});
$('#dropzone2').dropzone({
// Here goes the configuration
// same as on the first one but you can
// use different values if you need to
url: '/wiki/uploadpdf',
acceptedFiles: 'application/pdf',
init: function(){
this.on("sending", function(file, xhr, formData){
formData.append('subject', 'subject1');
formData.append('text', 'some text');
})
}
});
目前我已经像这样实例化了我唯一的放置区:
$(function () { // Dropzone
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone('div#dropzone1', {
url: '/wiki/uploadpdf',
acceptedFiles: 'application/pdf'});
document.querySelector('div#dropzone1').classList.add('dropzone');
myDropzone.on('sending', function (file, xhr, formData) {
formData.append('subject', 'subject1');
formData.append('text', 'some text');
}
});
});
我这样做是因为我想使用 'sending' 选项将附加数据发送到 PHP 文件。
这很好用,但是当我想实例化另一个放置区时,它没有显示任何东西。对于第二个,我还想发送额外的数据,所以我可能必须找到一个解决方案来做与第一个相同的事情。
只需创建另一个 Dropzone 对象
var myDropzone = new Dropzone('div#dropzone2', { // etc }
在另一个
$(function () { }
无效。
如果您已经在使用 jQuery,我发现使用 jQuery 的 dropzone 插件更容易,这里是一个如何在具有不同配置的页面中拥有两个 dropzones 的示例。
html:
<form id="dropzone1" class="dropzone"></form>
<form id="dropzone2" class="dropzone"></form>
脚本:
Dropzone.autoDiscover = false;
$('#dropzone1').dropzone({
url: '/wiki/uploadpdf',
acceptedFiles: 'application/pdf',
init: function(){
this.on("sending", function(file, xhr, formData){
formData.append('subject', 'subject1');
formData.append('text', 'some text');
})
}
});
$('#dropzone2').dropzone({
// Here goes the configuration
// same as on the first one but you can
// use different values if you need to
url: '/wiki/uploadpdf',
acceptedFiles: 'application/pdf',
init: function(){
this.on("sending", function(file, xhr, formData){
formData.append('subject', 'subject1');
formData.append('text', 'some text');
})
}
});