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

Google表单多选网格数据Apps Script读取显示undefined问题求助

问题排查与修正

直接语法错误(导致undefined的核心原因)

你代码里第一个if块里的payload[Status [Category1]]犯了语法错误:键名没有用引号包裹,应该写成payload["Status [Category1]"]。没有引号的话,JS会把Status和Category1当作未定义的变量调用,自然返回undefined。

多选网格的数据结构问题

Google表单的多选网格问题,提交后返回的是数组类型(哪怕只选了一个选项),直接拼接数组会得到类似Ok,Bad的字符串,要是需要更友好的展示,得把数组转成合适的格式。

修正后的代码

// 处理Category1的状态,兼容多选情况
let status_cat1 = "";
if (payload["Status [Category1]"]) {
  // 如果是数组就用逗号分隔,否则直接取值
  const cat1Status = Array.isArray(payload["Status [Category1]"]) 
    ? payload["Status [Category1]"].join(', ') 
    : payload["Status [Category1]"];
  status_cat1 = `Category1: ${cat1Status} `;
}

// 处理Category2的状态
let status_cat2 = "";
if (payload["Status [Category2]"]) {
  const cat2Status = Array.isArray(payload["Status [Category2]"]) 
    ? payload["Status [Category2]"].join(', ') 
    : payload["Status [Category2]"];
  status_cat2 = `Category2: ${cat2Status} `;
}

const text = status_cat1 + status_cat2;

额外排查步骤

如果还是有问题,先打印整个payload确认实际的键名和值:

Logger.log(JSON.stringify(payload));

检查输出里的键是不是和你代码里写的"Status [Category1]"完全一致(比如空格、括号有没有差异),有时候表单里的问题名称可能和你预期的不一样。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:56:07