如何通过Google Apps Script检测Google Forms中的复选框是否被勾选?
Google Form 复选框状态校验实现方案
完全可以实现你需要的逻辑,以下是两种常用的落地方式:
方案1:内置响应验证(无代码)
适合简单的复选框必选校验场景,无需编写脚本:
- 打开目标Google Form的编辑页,找到需要校验的复选框题目
- 点击题目右下角的三个点图标,选择「响应验证」
- 规则选择「已选中」,保存后用户必须勾选该选项才能提交表单。
方案2:Apps Script 自定义逻辑校验
适合需要复杂分支判断的场景,实现步骤如下:
- 打开表单编辑页,点击右上角三个点 -> 选择「脚本编辑器」,进入绑定的Apps Script项目
- 粘贴以下示例代码,根据你的实际需求修改配置部分:
function onFormSubmit(e) { // 配置项:替换为你要校验的复选框题目准确名称 const CHECKBOX_TITLE = "我已阅读并同意服务条款"; const itemResponses = e.response.getItemResponses(); let checkboxChecked = false; // 遍历表单响应定位目标复选框 itemResponses.forEach(res => { if (res.getItem().getTitle() === CHECKBOX_TITLE) { // 复选框响应结果为数组,长度大于0代表有选中项 const selectedOptions = res.getResponse(); checkboxChecked = selectedOptions.length > 0; // 若为多选项复选框,可通过以下方式判断是否选中指定选项 // checkboxChecked = selectedOptions.includes("同意接收营销通知"); } }) // 自定义分支逻辑 if (checkboxChecked) { // 已选中时的逻辑:如同步数据到额外表格、发送通知等 } else { // 未选中时的逻辑:如删除本次无效提交、邮件告知用户等 FormApp.getActiveForm().deleteResponse(e.response.getId()); } }
- 配置提交触发:在Apps Script编辑器左侧点击「触发」->「添加触发」,选择运行函数为
onFormSubmit,事件来源选「表单」,事件类型选「表单提交」,保存后按提示完成授权即可生效。
说明:原生Google Form暂不支持自定义客户端脚本在用户点击提交时即时拦截,若需要实时拦截未勾选的提交,优先使用方案1的内置响应验证即可满足需求。
内容的提问来源于stack exchange,提问作者Laissez Faire
相关产品推荐
相关产品推荐

