如何在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
- 在Google脚本编辑器中,点击右上角部署 > 新部署
- 类型选择Web应用
- 部署设置:
- 执行:选择我
- 谁可以访问:选择任何人,甚至匿名(适配未登录用户提交场景,可按需调整)
- 点击部署,复制生成的Web App URL
步骤4:设置表单提交跳转
- 打开目标Google表单,点击右上角齿轮图标进入设置
- 切换到演示和确认标签
- 勾选提交后转到其他网页,粘贴刚才复制的Web App URL
- 保存设置
关键注意事项
- 确保
onFormSubmit函数已配置表单提交触发器:脚本编辑器中点击编辑 > 当前项目的触发器,添加触发器,选择onFormSubmit,事件源设为表单提交 - 若需更严谨的编号规则,可修改
referenceNumber生成逻辑,例如:var referenceNumber = 'PRE-' + Date.now().toString().slice(-6) + Math.floor(Math.random()*100);
内容的提问来源于stack exchange,提问作者ViLLaN
相关产品推荐
相关产品推荐

