On Form Submit event object giving error: "TypeError: Cannot read property "0" from undefined."

On Form Submit event object giving error: "TypeError: Cannot read property "0" from undefined."

我正在尝试设置一个基本脚本,该脚本在提交表单时通过电子邮件发送,其目标是(天上掉馅饼)创建一封电子邮件,发送附加的 Outlook 日历邀请。这是我的脚本。

function onFormSubmit(e) {
  var userName = e.values[1];
  var userEmail = e.values[2];
  var subject = "Form Submitted";
  var message = "Thank you, " + userName + " for your submission";
  MailApp.sendEmail(userEmail, subject, message)
}

Here's an image of my trigger situation

我得到的错误是:"TypeError: Cannot read property "0" from undefined."

Here's an image of the Execution transcript

这是我去过的地方:

我保证我不会 运行 在编辑器中 - 我正在填写表格并提交。我知道我必须做一些愚蠢的事情,但我无法弄清楚它是什么。感谢您的帮助。

您的“提交时”触发器是 运行 来自绑定到 Form 的脚本,并且 values 属性 不可用将事件对象发送到 Formvalues 属性 仅对发送到 电子表格 的事件对象可用。

查看事件对象:
Event Objects

为了访问表单提交属性,您需要将事件对象 e 视为 FormResponse 对象。

https://developers.google.com/apps-script/guides/triggers/events#form-submit_1

function onFormSubmit(e) {
  var responses = e.response.getItemResponses();
  for( var i=0; i < responses.length; i++ ) {
    console.log(responses[i].getItem().getTitle() + " : " + responses[i].getResponse());
  }
}