动态更改Dropzone网址 [英] Change Dropzone url dynamically

查看:51
本文介绍了动态更改Dropzone网址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在dropzone中更改URL,发现的信息似乎对我不起作用.我有一种使用JS放置dropzone的形式.我想根据下拉菜单中选择的选项来更改dropzone URL.这是我正在使用的代码:

I'm trying to change the URL in dropzone, and info I've found hasn't seemed to work for me. I have a form that I'm putting a dropzone in using JS. I'd like to change the dropzone URL depending on what option is selected in a dropdown. Here's the code I'm working with:

Dropzone

<select id="bioImages" name="bioImages" style="width: 300px;" onchange="urlSetter();">
        <option value="countryFlag">Country Flag</option>
        <option value="locationImg">Location Image</option>
        <option value="nationalAnthemaud">National Anthem</option>
        <option value="countryNameaud">Country Name</option>
</select>
<form id="dropzoneUpload" action="" enctype="multipart/form-data" method="post">
    <div class="clearfix">
        <br><br>
    </div>
    <div class="half clearfix">
        <div id="dZUpload" class="dropzone" name="fileUpload">
        <div class="dz-default dz-message">
            Drop image/audio here or click to upload (system supports 1 file per category).
        </div>
        </div>
     </div>
</form>

添加Dropzone

function addDropzone() {
    $(document).ready(function () {
        Dropzone.autoDiscover = false;
        $("#dZUpload").dropzone({
            url: "url.com",
            addRemoveLinks: true,
            success: function (file, response) {
                console.log(response);
             }
        });
    });
}

更改URL

function urlSetter() {
    var drop = document.getElementById('dropzoneUpload');
    if(type.includes('aud')) {
        drop.options.url = 'url.com';
    } else {
        drop.options.url = 'url2.org';
    }
}

推荐答案

您不能使用这种方式更改dropzone网址.为此,首先创建一个全局变量,然后在下拉更改事件(urlSetter)上设置该变量的值,如下所示:

You can not change dropzone url using this way. so to do this first create a global variable and on drop down change event(urlSetter) set the value of that variable like below:

var dropzonePostUrl='url.com';
function urlSetter() {
    var drop = document.getElementById('dropzoneUpload');
    if(type.includes('aud')) {
        dropzonePostUrl = 'url.com';
    } else {
        dropzonePostUrl = 'url2.org';
    }
}

您还需要按如下所示更改您的dropzone初始化代码:

you also need to change your dropzone initialization code as below:

function addDropzone() {
    $(document).ready(function () {
        Dropzone.autoDiscover = false;
        $("#dZUpload").dropzone({
            url: "url.com",
            addRemoveLinks: true,
            success: function (file, response) {
                console.log(response);
             },
            init: function () {
               var _this=this;
                this.on("processing", function (file) {
                    _this.options.url = dropzonePostUrl;
                });
            }
        });
    });
}

您可以在处理事件中更改网址.

you can change url in processing event.

这篇关于动态更改Dropzone网址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆