【问题标题】:Change Dropzone url dynamically动态更改 Dropzone url
【发布时间】:2018-08-28 17:43:44
【问题描述】:

我正在尝试更改 dropzone 中的 URL,但我发现的信息似乎对我不起作用。我有一个表格,我正在使用 JS 放置一个 dropzone。我想根据下拉列表中选择的选项更改 dropzone URL。这是我正在使用的代码:

拖放区

<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>

添加拖放区

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

更改网址

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

【问题讨论】:

    标签: javascript dropzone.js


    【解决方案1】:

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

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

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

    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;
                    });
                }
            });
        });
    }
    

    您可以在处理事件时更改 url。

    【讨论】:

      【解决方案2】:

      function addDropzone() {
        $(document).ready(function () {
          Dropzone.autoDiscover = false;
          $("#dZUpload").dropzone({
            url: "url.com",
            addRemoveLinks: true,
            success: function (file, response) {
            	console.log(response);
            },
            init: function () {
            	this.on("processing", function (file) {
              	this.options.url = dropzonePostUrl;
             	});
            }
          });
        });
      }
      var dropzonePostUrl='url.com';
      function urlSetter() {
        var drop = document.getElementById('dropzoneUpload');
        if(type.includes('aud')) {
      		dropzonePostUrl = 'url.com';
        } else {
      		dropzonePostUrl = 'url2.org';
        }
      }
      <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>

      【讨论】:

        猜你喜欢
        • 2015-07-21
        • 2020-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-02
        相关资源
        最近更新 更多