2017-01-16 11 views
0

Я работаю над dropzone.js в первый раз, чтобы загрузить несколько файлов за один раз .... Но у меня есть некоторые проблемы с ним .... В основном, что я пытаюсь достичь, это загрузить несколько файлов против идентификатора собрания. У меня есть форма, в которой есть поле ввода, называемое meeting_id, а затем я программно создаю dropezone. ниже мой Javascript кодкак динамически изменить параметр url в dropezone.js

 Dropzone.autoDiscover = false; 
     jQuery(document).ready(function() { 
     var arr=JSON.parse('<?echo $json_ext_arr?>').toString(); 
     var myDropzone = new Dropzone("#myId", { 
     url:'upload.php', 
     autoProcessQueue:false, 
     maxFiles:5, 
     acceptedFiles: arr 
     }); 

     }); 

      var meeting_id=$('#meeting_id).val() 

теперь, что я хочу, я хочу, чтобы изменить URL-адрес в dropezone как

  url:'upload.php?meeting_id='+meeting_id+''; 

где MEETING_ID является значение input_text имя как MEETING_ID

ответ

1

Я считаю, что это то, что вам нужно, если я правильно понял ваш вопрос:

Dropzone.autoDiscover = false; 
    jQuery(document).ready(function() { 
       var arr = JSON.parse('<?echo $json_ext_arr?>').toString(); 
       var myDropzone = new Dropzone("#myId", { 
        url: 'upload.php?meeting_id=' + $("#meeting_id").val(), 
        autoProcessQueue: false, 
        maxFiles: 5, 
        acceptedFiles: arr 
       }); 

Или вы можете сделать:

myDropzone.options.url = 'upload.php?meeting_id=' + $("#meeting_id").val() 
1

я столкнулся этот вопрос тоже пока пытается обновить URL динамически, когда выпадающий список изменений опций. Но он не работает, когда он изменяется после готовности DOM.

Я мог бы решить эту проблему, динамически загружая Dropzone каждый раз, когда меняю параметр, как показано ниже.

Шаг 1: Определите Div контейнер в HTML, как показано ниже

<div id="dzContainer"> 
<!-- Drag and Drop control is dynamically placed here to upload files to databse --> 
</div> 

Шаг2: Заполнить выше DIV с управлением Dropzone

function ReloadDropZone(optionName) { 

      //Create <div class="dropzone" id="dropzoneForm"> 
      var iDiv = document.createElement('div'); 
      iDiv.id = 'dropzoneForm'; 
      iDiv.className = 'dropzone'; 
      document.getElementById('dzContainer').appendChild(iDiv); 

      // Create <div id="innerDiv" class="fallback"> 
      var innerDiv = document.createElement('div'); 
      innerDiv.id = 'innerDiv'; 
      innerDiv.className = 'fallback'; 
      document.getElementById('dropzoneForm').appendChild(innerDiv); 

      /// Create <input name="file" type="file" multiple/> 
      var iInput = document.createElement('input'); 
      iInput.name = 'file'; 
      iInput.type = 'file'; 
      iInput.id = 'inputFile'; 
      document.getElementById('innerDiv').appendChild(iInput); 
      document.getElementById('inputFile').setAttribute('multiple','multiple'); 

      ///<input type="submit" value="Upload" /> 
      var iSubmit = document.createElement('input'); 
      iSubmit.value = 'Upload'; 
      iSubmit.type = 'submit'; 
      document.getElementById('innerDiv').appendChild(iSubmit); 

      // Dropzone class: 
      $("div#dropzoneForm").dropzone({ 
       url: 'apiurl' + optionName, 
       dictDefaultMessage: "", 
       autoDiscover: false, 
       maxFiles: 2000, 
       maxFilesize: 0.2, 
       acceptedFiles: ".jpeg,.jpg,.png", 
       complete: function (file){}, 
       error: function (file, response) {}, 
       init: function() {} 
      }); 
}