【问题标题】:Distinguish between forms when using "on form submit"使用“on form submit”时区分表单
【发布时间】:2014-05-07 15:26:17
【问题描述】:

使用新的 Google 表格,可以将来自多个表单的回复发送到同一个电子表格。这很方便。

但是,当使用 On Form Submit 触发器时,似乎无法区分表单。这造成了一个大问题。

例如,我有一个用户提交以注册邮件列表的表单。我有第二个表单供用户用来提交报告。我有一个脚本,可以根据他们的喜好将报告发送给邮件列表收件人。我需要关联邮件列表中的变量和报告,以便根据偏好发送报告。我设置了脚本,这样每当提交报告时,它就会自动发送。但是,当提交注册表单时,它会触发脚本并发送电子邮件(使用注册表单中的信息)。

有没有办法告诉 Google 仅在提交特定表单时触发脚本,而不是在提交链接到电子表格的任何表单时触发脚本?

谢谢!

【问题讨论】:

  • 这里有类似的问题,stackoverflow.com/questions/23164835/… 不幸的是,没有人对此提供明确的答案。我也想知道这个。我想我现在将为每个表单使用单独的电子表格。

标签: google-apps-script eventtrigger google-forms


【解决方案1】:

我找到了一种通过onFormSubmit() 区分表单的迂回方式。考虑到表单与电子表格之间存在多对一关系的事实,而表单和工作表之间存在一对一关系。此外,所有表单都会在其唯一的工作表中为响应值附加一行。该行数据(作为Range)作为e 中的值传递,作为e.range。要获取所使用表单的 URL,可以使用 e.range.getSheet().getFormUrl()。如果只是需要区分表单,则可以使用 e.range.getSheet()

这样,onFormSubmit() 函数中的一个开关可以作为控制流添加到特定(针对每个表单)函数。

我也有同样的担忧。我希望这仍然是相关的,为了后代。

TL;DRe.range.getSheet()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    • 2021-01-14
    • 2016-03-11
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    相关资源
    最近更新 更多