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

Google Form提交生成参考编号问题:确认页显示旧编号求解决方案

问题原因

你当前的代码逻辑是表单提交完成后才更新确认消息,但用户在提交时看到的是修改前的默认消息,更新后的消息只会被下一个提交的用户看到,所以出现了“显示上一个参考编号”的问题。

解决方案

改用Google表单的「提交时返回自定义消息」功能,直接在提交过程中生成并返回当前用户的参考编号,同时把编号写入响应表对应行,避免重复数据。

修正后的完整代码

// 生成参考编号
function generateReferenceNumber() {
  let randomChars = '';
  const possibleChars = '0123456789';
  for (let i = 0; i < 4; i++) {
    randomChars += possibleChars.charAt(Math.floor(Math.random() * possibleChars.length));
  }
  return 'INQ' + randomChars;
}

// 表单提交时触发,直接返回确认消息并写入参考编号到表格
function onFormSubmit(e) {
  // 生成当前提交的参考编号
  const referenceNumber = generateReferenceNumber();
  
  // 获取响应表中当前提交的行,写入参考编号(默认放在最后一列)
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses");
  if (sheet) {
    // e.range是当前提交数据所在的行,直接在该行最后一列写入编号
    const lastColumn = sheet.getLastColumn();
    e.range.offset(0, lastColumn).setValue(referenceNumber);
  }
  
  // 返回实时确认消息给当前提交的用户
  return "感谢提交!你的参考编号是:" + referenceNumber;
}

配置步骤

  1. 打开你的Google表单,点击右上角「更多」→「脚本编辑器」,替换原有代码为上面的代码
  2. 保存脚本,命名为「参考编号生成器」之类的名称
  3. 返回Google表单,点击「设置」→「演示」→「确认消息」,选择「使用脚本函数」,然后选择我们的onFormSubmit函数
  4. 保存设置,测试提交表单,现在就能看到当前提交的参考编号了

关键说明

  • 不再手动调用appendRow,因为表单已经自动把用户提交的数据写入响应表,直接用e.range定位到当前提交的行,避免重复数据
  • 利用表单的「提交时运行脚本返回消息」功能,实时把当前生成的编号返回给用户,彻底解决“显示上一个编号”的问题

内容的提问来源于stack exchange,提问作者adriel de Jesus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 15:12:15