You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Forms Apps Script仅发送单个表单值问题排查求助

问题排查与修复

你的代码存在两个关键错误,导致仅能获取单个表单结果:

1. 循环内变量名冲突

循环中你用var items = items[i];重新赋值了原本存储所有表单响应项的items数组,第二次循环时items已经变成单个响应对象,无法继续遍历,循环仅执行一次。

2. 循环边界条件错误

循环条件i<=items.length会让索引超出数组范围(数组索引从0开始,最大索引为items.length-1),触发undefined错误,直接中断循环执行。

另外,FormApp.getActiveForm();这行代码没有实际作用,可直接删除。

修正后的完整代码

function onSubmit(e){
  var items = e.response.getItemResponses();
  var reporter = e.response.getRespondentEmail();

  var message = '';
  // 修正循环条件和变量名
  for (var i = 0; i < items.length; i++) {
    var item = items[i];
    var question = item.getItem().getTitle();
    var answer = item.getResponse();
    message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n';
  }

  var email = "sohamtracysdsf2289@email.com";
  var title = 'Event RSP';
  var content = 'This is a RSVP Request\n\n' + message;
  MailApp.sendEmail(email, title, content, {cc: reporter});
}

修正后,脚本会遍历所有表单响应项,将所有问题和答案完整拼接进邮件内容,发送完整的表单提交结果。

内容的提问来源于stack exchange,提问作者Tony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 10:35:25