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

如何在Google表单提交页面显示自动生成的参考编号

实现Google表单提交后在确认页面显示参考编号

Google表单的默认确认页面无法动态生成自定义内容,因此需要通过自定义Web App确认页面结合脚本实现需求。以下是具体步骤:

步骤1:更新表单提交触发脚本

修改原有脚本,添加锁机制避免并发提交导致编号重复,并将最新编号存入脚本属性,方便后续Web App读取:

function onFormSubmit(e) {
  var lock = LockService.getScriptLock();
  // 等待30秒获取锁,防止并发提交冲突
  if (!lock.tryLock(30000)) {
    return;
  }

  try {
    var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = spreadsheet.getSheetByName('Form Responses 1');
    var lastRow = sheet.getLastRow();
    // 自定义参考编号格式,此处保留原逻辑(行号-1)
    var referenceNumber = 'PRE-' + (lastRow - 1);
    // 将编号写入表格第一列
    sheet.getRange(lastRow, 1).setValue(referenceNumber);
    
    // 把最新编号存入脚本属性,供Web App调用
    PropertiesService.getScriptProperties().setProperty('latestReference', referenceNumber);
  } finally {
    lock.releaseLock();
  }
}

步骤2:创建Web App作为自定义确认页面

添加生成HTML确认页面的函数,读取脚本属性中的最新编号并展示:

function doGet() {
  var referenceNumber = PropertiesService.getScriptProperties().getProperty('latestReference');
  // 生成带编号的确认页面HTML
  var htmlOutput = HtmlService.createHtmlOutput(`
    <!DOCTYPE html>
    <html>
      <head>
        <title>提交成功</title>
        <style>
          body { font-family: Arial, sans-serif; text-align: center; padding: 50px; }
          .reference { font-size: 24px; font-weight: bold; color: #2c3e50; margin: 20px 0; }
        </style>
      </head>
      <body>
        <h1>提交成功!</h1>
        <p>感谢您的提交,您的参考编号是:</p>
        <div class="reference">${referenceNumber}</div>
        <p>请保存此编号用于后续查询。</p>
      </body>
    </html>
  `);
  return htmlOutput;
}

步骤3:部署Web App

  1. 在Google脚本编辑器中,点击右上角部署 > 新部署
  2. 类型选择Web应用
  3. 部署设置:
    • 执行:选择我
    • 谁可以访问:选择任何人,甚至匿名(适配未登录用户提交场景,可按需调整)
  4. 点击部署,复制生成的Web App URL

步骤4:设置表单提交跳转

  1. 打开目标Google表单,点击右上角齿轮图标进入设置
  2. 切换到演示和确认标签
  3. 勾选提交后转到其他网页,粘贴刚才复制的Web App URL
  4. 保存设置

关键注意事项

  • 确保onFormSubmit函数已配置表单提交触发器:脚本编辑器中点击编辑 > 当前项目的触发器,添加触发器,选择onFormSubmit,事件源设为表单提交
  • 若需更严谨的编号规则,可修改referenceNumber生成逻辑,例如:var referenceNumber = 'PRE-' + Date.now().toString().slice(-6) + Math.floor(Math.random()*100);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 02:45:13