Невозможно передать несколько параметров в функции onclick - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь создать механизм загрузки, в котором я могу загрузить файл на Google Drive, используя его идентификатор файла из HTML. Я не хочу размещать идентификатор папки внутри функции загрузки, так как это необходимо. Я пытаюсь передать несколько аргументов при загрузке функции (e), объявив другой параметр, т.е. функцию загрузки (e, id). Мне известно, что эта функция вызывается в HTML этим onclick = "google.script.run.withSuccessHandler (updateUrl) .upload (this.parentNode)"

Я попытался добавить еще один параметр с помощью onclick = "google.script.run.withSuccessHandler (updateUrl) .upload (this.parentNode, '1234thisisanexampleid')"

Где 1234thisanexampleid - строка. Я также не уверен, как this.parentNode, а также. Я также видел результаты добавления запятых в параметрах, но я также не понимаю, как это работает.

 //code gs    
 function doGet() {
  return HtmlService.createHtmlOutputFromFile('Form.html');
}

function upload(e) { 



 // Folder ID of destination folder
 var destination_id = xxx;



var img = e.imageFile;

var destination = DriveApp.getFolderById(destination_id);

destination.createFile(img);

return "File Uploaded Successfully!";
}



//Form.html (just a part of the code)
<form>
  <input type="file" name="imageFile">
  <input type="button" value="Upload File" onclick="google.script.run.withSuccessHandler().upload(this.parentNode)">
</form>

1 Ответ

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

Проблема:

Элемент формы на странице также допустим в качестве параметра, но он должен быть параметром only функции и недопустим в качестве возвращаемого значения.

Как написано в официальной документации, невозможно отправить два параметра, в то время как один из них является form.

Решение:

Отправьте его внутри формы в качестве ввода.

<input type="hidden" name ="folderId" value="1234thisisanexampleid">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...