我的 "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 脚本,因此无法在脚本之外工作。
禁用它们使表单工作。
我一直在使用 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 脚本,因此无法在脚本之外工作。
禁用它们使表单工作。