1

这让我发疯了——我不明白为什么它不起作用!

我有两个文件:谷歌脚本中的 myPage.html 和 myCode.gs。我已将 html 文件部署为 Web 应用程序,我希望提交按钮的 onclick 事件触发 myCode.gs 文件中的 emailTech 功能,但它不起作用!当我直接从文件中运行该函数时,它工作正常。

我已经进行了几个小时的研究并尝试添加<script type="text/javascript" src="myCode.gs"></script>,但是当我刷新 Web 应用程序时会导致错误。我曾尝试在 onClick 事件中调用该函数,onClick= "google.script.run.emailTech()"onClick= "emailTech()"都不起作用。我也尝试将 emailTech 函数加载到标题中的脚本标记中,但这也不起作用!我错过了什么?请帮忙!

myPage.html 文件:

    <script type="text/javascript"></script>
    <body>
    <input type="submit" onclick="emailTech();" value="Submit" />
    </body>

myCode.gs 文件:

    function doGet() {
  return HtmlService.createHtmlOutputFromFile('myPage');
}

function emailTech(){

  Logger.log("is this firing?");
  var message = "This is the email message";
  MailApp.sendEmail("XYZ@abc.com", "This is the subject", message );

}
4

2 回答 2

2

你实际上是在这个轨道上:

<script type="text/javascript"></script>
<body>
<input type="button" onclick="emailTech();" value="Submit" />
</body>

不要使用submit; 使用button. submits 和 onclick 处理程序的语义有点奇怪(不仅仅是因为 HtmlService 沙盒,甚至是一般情况下),并且不能很好地与 google.script.run 配合使用。这记录在 HtmlService 用户指南中:

“您不能将此技术与常规提交按钮一起使用”

于 2013-05-09T05:17:20.613 回答
1

编辑:新答案 - 使用google.script.run.

<script type="text/javascript"></script>
<body>
<input type="button" onclick="google.script.run.emailTech();" value="Submit" />
</body>
于 2013-05-09T01:39:03.603 回答