Events onSubmit事件不工作消息:TypeError:无法读取属性;价值观;从未定义

Events onSubmit事件不工作消息:TypeError:无法读取属性;价值观;从未定义,events,google-apps-script,google-forms,gs-installable-triggers,Events,Google Apps Script,Google Forms,Gs Installable Triggers,我有一个谷歌表格,只包含一个问题 我想更新onSubmit事件中的确认消息。 这是我的密码 function onsubmit1(event){ var activeform = FormApp.getActiveForm(); activeform.setConfirmationMessage("Thank you "+ event.values[0]); } 我的部署步骤是 保存代码 添加触发器(要运行的函数:onsubmit1(),选择应运行的部署:HEAD,选择事件源:f

我有一个谷歌表格,只包含一个问题

我想更新onSubmit事件中的确认消息。 这是我的密码

function onsubmit1(event){  
  var activeform = FormApp.getActiveForm();
  activeform.setConfirmationMessage("Thank you "+ event.values[0]);
}
我的部署步骤是

  • 保存代码
  • 添加触发器(要运行的函数:onsubmit1(),选择应运行的部署:HEAD,选择事件源:from FORM,选择事件类型:on FORM submit,失败通知设置:notify me daily)
  • 在Submit1上运行
  • 然后
    显示错误消息

    TypeError:无法从未定义中读取属性“值”。(第3行,文件“onsubmit”)

    部署失败

    如何从当前响应中检索值

    //更新 我已将代码修改为

    function onSubmit(e){
      var namevar = e.response.getItemResponses()[0].getResponse();
      var form = FormApp.getActiveForm();
      form.setConfirmationMessage("Thank you"+namevar);
    }
    
    该函数可以在捕获事件的情况下运行。 但是,正如前面提到的,确认消息不能以这种方式设置,因为namevar返回了上次提交的响应

    解释见

    表单中生成的脚本(而不是电子表格)的表单提交没有值参数


    确认消息不能以这种方式动态设置。@JamesD我是否可以用当前响应的值正确设置它?是的,谢谢您的帮助,我找到了关于确认消息设置的更详细说明。是否有方法捕获当前响应?响应在表单onFormSubmit触发器的事件对象中提供。谢谢。在脚本编辑器中运行函数(运行按钮)时会显示错误消息。相反,我应该保存脚本并在表单上测试它。我建议您在表单的脚本编辑器中,而不是链接电子表格的脚本编辑器中。因此,您正在接收的onFormSubmit触发器事件对象不包含
    event.values
    。只有在链接的电子表格中编写onFormSubject脚本时,才能获得该事件对象。但我认为你不能这样设置确认信息。你必须在表单启动之前设置它。将脚本应用于表单2。直接在表单中测试函数,而不是在脚本编辑器3中运行函数。将代码更新为[code]var namevar=e.response.getItemResponses()[0].getResponse();var form=FormApp.getActiveForm();form.setConfirmationMessage(“谢谢”+namevar);虽然我不能像预期的那样设置确认消息(namevar在上次提交时返回了响应),但我在流程中更清楚了。谢谢你的建议。