首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >谷歌应用程序脚本onFormSubmit触发器未触发

谷歌应用程序脚本onFormSubmit触发器未触发
EN

Stack Overflow用户
提问于 2014-07-08 22:08:33
回答 2查看 1.2K关注 0票数 0

我有一个脚本,用于在提交Google表单时运行函数,并且在google电子表格中添加了一个新行。遗憾的是,它无法触发。没有报告错误,也没有收到通知电子邮件。该函数在手动执行时有效,并在提交表单时按预期将新行添加到电子表格中。

我已经通过资源选项卡安装了触发器,以便在电子表格上有事件时运行onFormSubmit()。我试过onChange和onFormSubmit,都没有反应。当我手动编辑电子表格时,on edit触发器按预期工作。它应该运行的简单函数如下所示。

代码语言:javascript
运行
复制
function onFormSubmit() {
Browser.msgBox("Success")
}

如有任何建议,我们将不胜感激,谢谢。

EN

回答 2

Stack Overflow用户

发布于 2018-04-15 07:32:41

我很好奇到底发生了什么,所以我就做了个测试。

我没有收到错误消息或通知电子邮件,但执行脚本显示脚本已被触发

代码语言:javascript
运行
复制
[18-04-14 18:20:35:056 CDT] SpreadsheetApp.getActiveRange() [0 seconds]
[18-04-14 18:20:35:056 CDT] Range.getRow() [0 seconds]
[18-04-14 18:20:35:056 CDT] Range.getLastRow() [0 seconds]
[18-04-14 18:20:35:057 CDT] Range.getColumn() [0 seconds]
[18-04-14 18:20:35:057 CDT] Range.getLastColumn() [0 seconds]
[18-04-14 18:20:35:057 CDT] SpreadsheetApp.getActiveSpreadsheet() [0 seconds]
[18-04-14 18:20:35:151 CDT] Starting execution
[18-04-14 18:20:35:158 CDT] Browser.msgBox([Success]) [0 seconds]
[18-04-14 18:20:35:160 CDT] Execution succeeded [0.002 seconds total runtime]

在我的测试中,我将电子表格和表单并排放在一起。没有显示对话框。

解释是,由可安装触发器触发的脚本实例不知道用户是否已打开电子表格(浏览器仅在Google电子表格上下文中可用)。

如果目的是在收到表单提交时向用户显示一个对话框,则需要一个类似于on the Mogsdad's answer to How do I make a Sidebar display values from cells?中所描述的“轮询器”

票数 0
EN

Stack Overflow用户

发布于 2014-07-09 14:49:55

看起来你不能对表单使用Browser.msgBox()。

在触发器函数内部,调用Logger.log(“函数被调用”)

您将看到在日志中调用了该函数。

FormApp.getUi().alert("hello")将在表单编辑器中创建一个消息框,但不会创建活动表单。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24633988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档