Передача значений текстового поля в облачный виджет загрузки? - PullRequest
0 голосов
/ 31 октября 2019

Мне нужно установить теги изображений и загрузить папку в виджете загрузки на значение текстового поля. Я создал глобальную переменную в сценарии js и назначил ей textbox.value в обработчике событий. Затем я установил теги: [] и folder: (value) для глобальной переменной. Когда я выполняю загрузку, она не получает значение переменной. Любопытно, что если я жестко закодирую значение переменной, виджет загрузки действительно получает значение и ведет себя как ожидалось. Также любопытно, что если я console.log (глобальная переменная), я получаю ожидаемый вывод, то есть textbox.value.

  <h1>This is the index page</h1>
</div>
<input type="text" id="campground">
<button id="upload_widget" class="cloudinary-button">Upload files</button>

<script type="text/javascript">
  var tagValue = "temper";
  var text = document.getElementById("campground");
  text.addEventListener("blur", function () {
    tagValue = text.value;
    console.log(tagValue);
  });

  var myWidget = cloudinary.createUploadWidget({
    cloudName: 'xxxx',
    apiKey: "xxxx",
    apiSecret: "xxxx",
    uploadPreset: 'xxxx',
    sources: ["local", "url", "camera", "dropbox", "facebook", "instagram"],
    showAdvancedOptions: true,
    tags: ["test", tagValue],
    folder: "campgrounds"
  }, (error, result) => {
    if (!error && result && result.event === "success") {
      console.log(tagValue + " not this time!");
      console.log('Done! Here is the image info: ', result.info);
    }
  }
  )
  document.getElementById("upload_widget").addEventListener("click", function () {
    console.log(tagValue + " not!");
    myWidget.open();
  }, false);```
...