我的 "Includes" 如何破坏独立 Google Apps 脚本中的表单提交?

How are my "Includes" breaking the form submission in a Standalone Google Apps Script?

我一直在使用 this script to create this web app。它应该接受表单提交并将数据传输到 google sheet。完成后,它应该清除字段并重新开始。这个有效(大部分)。

我试图通过在 Code.gs 文件中添加 include 来清理脚本。一旦我 changed the script to this to create the same web app, I get this 作为结果(你必须实际提交一些东西才能看到它)。单击提交后,没有任何内容运行,页面切换到某个疯狂的网址。

我很确定问题是这个(原来的Code.gs)之间的区别:

function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('Index')
            .setSandboxMode(HtmlService.SandboxMode.NATIVE);
}

和这个(新的Code.gs):

function doGet(request) {
  return HtmlService.createTemplateFromFile('Index')
      .evaluate()
      .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

function include(filename) {
  return HtmlService.createHtmlOutputFromFile(filename)
      .getContent();
}

我只是不够了解问题。

您在 javascript 标签内使用了 Logger.log() 语句。它们特定于 google 脚本,因此无法在脚本之外工作。

禁用它们使表单工作。