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

在App Script中使用HTML模板处理Google表单提交记录的技术问询

解决Google Apps Script中HTML模板引用表单提交记录的问题

问题1:在App Script中使用HTML模板时,如何引用Google表单的提交记录?

  • 表单提交触发的函数会收到e事件对象,其中e.namedValues包含了所有表单字段的键值对——键是表单的问题标题,值是提交内容的数组(因为部分字段支持多选,所以用数组存储)。
  • 你需要把e.namedValues或者从中提取的单个字段值绑定到HTML模板对象上,再通过模板的evaluate()方法生成最终的HTML内容,就能在邮件里展示提交记录了。

问题2:使用HTML模板发送邮件时,能否在scriptlet中使用namedValues?

完全可以直接用,只要注意两个关键细节:

  1. 必须先把namedValues赋值给模板对象(比如你代码里的outlet.named_values = named_values;这一步是正确的)。
  2. e.namedValues里的每个值都是数组类型,单值字段需要取数组的第一个元素(比如named_values["Name"][0])才能拿到实际提交的内容。

修正后的完整代码

Google Apps Script 代码

function sendEmail(e) {
  // 获取表单提交的所有键值对
  const namedValues = e.namedValues;
  // 单值字段取数组第一个元素,避免显示数组格式
  const name = namedValues["Name"][0];
  const timestamp = namedValues["Timestamp"][0];
  const subject = `Outlet ${timestamp}`;

  // 加载HTML模板并绑定数据
  const outletTemplate = HtmlService.createTemplateFromFile('outlet');
  // 可以直接绑定整个namedValues,也可以单独绑定单个字段
  outletTemplate.namedValues = namedValues;
  outletTemplate.name = name;
  outletTemplate.timestamp = timestamp;

  // 生成最终的HTML邮件内容
  const message = outletTemplate.evaluate().getContent();

  // 发送邮件
  MailApp.sendEmail({
    to: 'my@mail.com',
    subject: subject,
    htmlBody: message
  });
}

HTML模板(outlet.html)

<!DOCTYPE html>
<html>
<body>
  <ul>
    <!-- 方式1:直接使用单独绑定的变量 -->
    <li><b>Company:</b> <?= name ?></li>
    <li><b>Location:</b> <?= timestamp ?></li>
    <!-- 方式2:直接通过namedValues引用(注意数组取值) -->
    <li><b>通过namedValues获取Name:</b> <?= namedValues["Name"][0] ?></li>
    <li><b>通过namedValues获取Timestamp:</b> <?= namedValues["Timestamp"][0] ?></li>
  </ul>
</body>
</html>

额外注意事项

  • 表单的问题标题和代码中引用的键必须完全一致(大小写敏感,比如表单里是“Name”,代码里不能写成“name”)。
  • 如果是多选字段,不需要取[0],可以遍历数组展示所有选中项,示例:
    <li><b>多选选项:</b> 
      <? for (let option of namedValues["你的多选问题标题"]) { ?>
        <?= option ?><br>
      <? } ?>
    </li>
    
  • 记得给表单绑定触发器:打开脚本编辑器 → 左侧点击“触发器”图标 → 添加触发器,选择sendEmail函数,事件源选“表单提交”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 07:15:29