如何用AppScript在Google Form提交确认消息中显示当前提交答案
Google表单提交确认消息显示异常的修复方案
问题根源
你当前代码中使用的form.setConfirmationMessage()是修改整个表单的全局确认消息。用户提交表单时,确认页在脚本执行前就已加载,此时全局消息还没被当前提交的内容更新,所以显示的是上一次设置的内容;只有编辑旧提交时,全局消息已经被之前的提交修改过,才会显示对应内容。
修复代码
直接替换为针对当前提交响应设置专属确认消息的逻辑,无需修改全局表单配置:
function onSubmit(e) { var response = e.response; var itemResponses = response.getItemResponses(); var message = "感谢您完成注册,以下是您的注册详情:\n\n"; for (var i = 0; i < itemResponses.length; i++) { var itemResponse = itemResponses[i]; var question = itemResponse.getItem().getTitle(); var answer = itemResponse.getResponse(); message += question + ": " + answer + "\n"; } // 为当前提交的响应设置专属确认消息,立即生效 response.withConfirmationMessage(message); }
核心改动说明
- 移除了全局表单的获取与修改逻辑,避免干扰其他提交的确认消息
- 使用
response.withConfirmationMessage(message):该方法仅对当前提交的响应生效,用户提交后会立即看到自己的提交详情,彻底解决消息延迟、显示上一次内容的问题
内容的提问来源于stack exchange,提问作者Sheewarat Phanpanawan
相关产品推荐
相关产品推荐

