После вызова .load dropzone сохраняет старую картинку и не обновляет - PullRequest
0 голосов
/ 09 января 2019

Я использую Dropzone из https://www.dropzonejs.com для загрузки одного изображения. Я загружаю html-страницу с помощью команды .load из jquery так:

$( "#showsettingsother" ).click(function() {
     $('#settingscontent').load('settingscompany.html', function() {
          Dropzone.autoDiscover = false;

          var myDropzone = new Dropzone($('.dropzone').get(0), {
            init: function() {                     
                   var me = this;

                  $.getJSON(webserverurl + '?sessionid=' + sessionkey + '&settings=true&company=checkCompanyPhotoExists', function( json ) {
                    if(json.STATUS == 'OK') {
                        var mockFile = { name: "Firmenlogo", dataURL: getcompanypicture, accepted: true };
                        me.createThumbnailFromUrl(mockFile, getcompanypicture);
                        me.files.push(mockFile);
                        me.emit('addedfile', mockFile);
                        me.emit('thumbnail', mockFile, getcompanypicture);
                        me.emit('complete', mockFile);
                    }
                  });
                },
                ... [shortened]
          }
        }
}

Внутри settingscompany.html У меня есть это:

<form id="uploadCompanyPicture" action="" class="dropzone"></form>

Теперь у меня есть такое меню:

<ul>
    <li id="settingscompany"><a id="showsettingscompany" href="#">Company settings</a></li>
    <li id="othersettings"><a id="showsettingsother" href="#">Other settings</a></li>
</ul>
<script>
      $( "#showsettingsother" ).click(function() {
           $('#settingscontent').load('othersettings.html'); 
      }
</script>

Моя проблема заключается в следующем:

  1. Я загружаю картинку в dropzone (image1.jpg). Это отлично работает.
  2. Я загружаю второе изображение в dropzone (image2.jpg). Это тоже хорошо работает.
  3. Теперь я нажимаю «Другие настройки» и возвращаюсь к «Настройки компании».
  4. В результате отображается image1.jpg, а не image2.jpg.
  5. Когда я перезагружаю браузер, он показывает image2.jpg.

Так что отображается неправильная картинка. Кто-нибудь знает, что я делаю не так?

1 Ответ

0 голосов
/ 10 января 2019

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

// Я бы добавил комментарий, но пока не могу.

...