事件对象在谷歌应用程序脚本中不能用于谷歌表单中的onSubmit触发器

时间:2015-07-03 10:05:31

标签: google-apps-script google-form

我创建了一个google表单,并添加了一个触发器,只要触发表单提交事件,就会触发该触发器。我需要为此事件使用事件对象,当我添加试图访问此事件的任何代码行时,会发生错误。

function onSubmit(e) {
  var s = e.values[0];
  Logger.log(s);
}

触发该功能时出现此错误消息:

Execution failed: TypeError: Cannot read property "0" from undefined. (line 2, file "Code")

我的表单有一个文本输入字段(基本上它只是一个表单,我正在测试并尝试使用Google App Script),所以我在提交表单时尝试访问此字段中的数据。 / p>

1 个答案:

答案 0 :(得分:3)

您可以使用ActiveForm对象而不是事件对象。

function onSubmit() {

  var responses = FormApp.getActiveForm().getResponses();
  var length = responses.length;
  var lastResponse = responses[length-1];
  var formValues = lastResponse.getItemResponses();

  Logger.log(formValues[0].getResponse());
}

此代码基本上可以满足您的需求(在您设置触发器之后)。

可以在此处找到更好的解释:google script get the current response onSubmit