我创建了一个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>
答案 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