无法在onclick函数中传递多个参数

时间:2019-01-16 10:24:42

标签: html forms google-apps-script web-applications parameters

我正在尝试创建一种上传机制,通过该机制,我可以使用HTML中的文件ID将文件上传到Google驱动器中。我不想将文件夹的ID放在上载函数中,因为这是需要的。我试图通过声明另一个参数即函数upload(e,id)在函数upload(e)上传递多个参数。我知道此onclick =“ google.script.run.withSuccessHandler(updateUrl).upload(this.parentNode)”

触发了HTML中的函数

我尝试通过onclick =“ google.script.run.withSuccessHandler(updateUrl).upload(this.parentNode,'1234thisisanexampleid')”添加另一个参数

其中1234thisisanexampleid是字符串。我也不确定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 :(得分:0)

问题:

  

A form element within the page is also legal as a parameter, but it must be the function’s only parameter, and it is not legal as a return value.

如官方文档中所述,无法发送两个参数,而其中一个是form

解决方案:

将其发送到表单中作为输入。

<input type="hidden" name ="folderId" value="1234thisisanexampleid">