【问题标题】:event.source undefined in simulated onFormSubmit eventevent.source 在模拟的 onFormSubmit 事件中未定义
【发布时间】:2019-10-10 16:50:01
【问题描述】:

我有一个链接到谷歌表格的谷歌表单。

当我提交实际表单时,会触发 onFormSubmit 并且我的日志显示“e.source Spreadsheet”

我还使用此链接 (How can I test a trigger function in GAS?) 中的模拟 onFormSubmit 代码进行调试,并且一切工作正常

突然我收到错误“e.source undefined”,但是当我使用模拟的 onFormSubmit 代码时,e.values 工作正常。

是什么导致了这个突然的错误,特别是因为它之前似乎在完全相同的情况下运行良好?

TIA

【问题讨论】:

  • 您可能在电子表格中使用他的onFormSubmit 而不是在表单中使用onFormSubmit
  • 非常感谢,我怎么知道这两个中的哪一个被解雇了?因为即使我提交了实际表单并触发了 onFormSubmit(e),我的日志也显示“e.source is Spreadsheet”并且模拟事件 test_onFormSubmit() 之前工作正常,所以我不确定是什么导致它突然报错“e.source undefined”
  • 实际上,正如您在我的回答中所指出的那样,它们都有一个源参数,我通过使用Logger.log(JSON.stringify(e)); 找到了该参数。问题不在于哪个正在触发,而在于您正在查看哪个。如果您在电子表格中并且已经为该项目安装了触发器,则电子表格正在响应表单提交。但是,您也可以使用表单的脚本编辑器为表单设置触发器。所以真正的问题是你在哪里创建了触发器。
  • 您的代码在电子表格脚本编辑器中吗?
  • 我建议,如果您不确定设置了哪个触发器,请使用Installable trigger,它将具体说明它是哪种触发器,它来自哪里以及什么它运行。

标签: google-apps-script


【解决方案1】:

onFormSubmit 电子表格不是来源 参数。

onFormSubmit for forms确实有源参数

上面电子表格的 onFormSubmit 事件对象:

以下表单的 onFormSubmit 事件对象:

经过进一步调查,根据 Logger.log(JSON.stringify(e)); 在两个对象中似乎都有一个源参数;

这是电子表格的日志:

[19-10-10 10:34:03:681 PDT] {"authMode":{},"values":["10/10/2019 11:34:03","url"]," namedValues":{"Timestamp":["10/10/2019 11:34:03"],"UploadTesting":["url"]},"range":{"columnStart":1,"rowStart":27 ,"rowEnd":27,"columnEnd":2},"source":{},"triggerUid":"id"}

这是表单的日志:

[19-10-10 11:34:04:636 MDT] {"authMode":{},"response":{},"source":{},"triggerUid":"id"}

【讨论】:

  • 非常感谢,但我仍然不太清楚什么时候被解雇。因为即使我提交了实际表单并触发了 onFormSubmit(e),我的日志也显示“e.source is Spreadsheet”并且模拟事件 test_onFormSubmit() 之前工作正常,所以我不确定是什么导致它突然报错“e.source undefined”
  • 让我通过在两者上运行记录器来进行调查。
【解决方案2】:

谢谢!

以上答案帮助我找出了我的错误。

我添加了一行引用“e.source”的代码。

从电子表格数据生成的模拟 onformsubmit 执行此代码时出现错误。在这种情况下调用的 eventObject 没有“源”参数(如上面的答案中所指出的那样),因此会出现错误。

当我通过提交实际表单来运行代码时,它工作正常,因为在这种情况下 eventObject 确实有一个源参数。

再次感谢您!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 2016-07-22
    相关资源
    最近更新 更多