Добавить дополнительные данные в JQuery FileUpload при загрузке - PullRequest
2 голосов
/ 25 марта 2019

Я использую эту мини-версию загрузчика файлов JQuery:

https://tutorialzine.com/2013/05/mini-ajax-file-upload-form

Однако, когда кто-то нажимает кнопку загрузки, мне нужно, чтобы он мог ввести название для загрузки.

В настоящее время он работает на настольном компьютере Chrome и iPhone Safari, но по какой-то причине он не работает на iPhone Chrome, так что, возможно, я что-то не так делаю?

Это файл загрузки JQuery:

      // Initialize the jQuery File Upload plugin
      $('#upload').fileupload({

          // This element will accept file drag/drop uploading
          dropZone: $('#drop'),
    maxNumberOfFiles: 1,
          // This function is called when a file is added to the queue;
          // either via the browse button, or via drag/drop:
          add: function (e, data) {

//This prompts the user to enter a title.
data.files[0].filetitle = window.prompt("Enter a Name for This Job", data.files[0].name);

              var tpl = $('<li class="working"><input type="text" value="0" data-width="48" data-height="48"'+
                  ' data-fgColor="#0788a5" data-readOnly="1" data-bgColor="#3e4043" /><p></p><span></span></li>');

              // Append the file name and file size
              tpl.find('p').text(data.files[0].name)
                           .append('<i>' + formatFileSize(data.files[0].size) + '</i>');

              // Add the HTML to the UL element
              data.context = tpl.appendTo(ul);

              // Initialize the knob plugin
              tpl.find('input').knob();

              // Listen for clicks on the cancel icon
              tpl.find('span').click(function(){

                  if(tpl.hasClass('working')){
                      jqXHR.abort();
                  }

                  tpl.fadeOut(function(){
                      tpl.remove();
                  });

              });

              // This adds the title to the form for submission as well as creates the action.
               data.formData = {action : 'process_uploads',filetitle: data.files[0].filetitle};


              var jqXHR = data.submit();
          },

Сначала я добавил строки, чтобы конечный пользователь мог ввести свой заголовок:

data.files[0].filetitle = window.prompt("Enter a Name for This Job", data.files[0].name);

А это добавить введенный текст в отправленную форму:

data.formData = {action : 'process_uploads',filetitle: data.files[0].filetitle};

Может ли быть способ обойти это, чтобы он работал на мобильном Chrome или здесь что-то не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...