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

如何用Google Apps Script限制Google表单线性量表全选同值提交

实现步骤

第一步:打开表单对应的脚本编辑器

  • 打开你的Google表单,点击右上角三个点,选择「<> 脚本编辑器」,进入Apps Script开发界面
  • 删除默认的myFunction空函数代码

第二步:粘贴校验代码

直接使用下方代码,逻辑已适配需求:

// 表单提交触发的校验函数
function onFormSubmit(e) {
  // 获取本次提交的所有回答
  const response = e.response;
  const itemResponses = response.getItemResponses();
  // 存储所有线性量表题的答案
  const scaleScores = [];

  // 遍历所有问题,筛选出线性量表类题目并收集答案
  itemResponses.forEach(itemRes => {
    const itemType = itemRes.getItem().getType();
    // 线性量表的类型枚举为LINEAR_SCALE
    if (itemType === FormApp.ItemType.LINEAR_SCALE) {
      scaleScores.push(Number(itemRes.getResponse()));
    }
  });

  // 校验:所有线性量表答案是否完全相同
  const allSame = scaleScores.every(score => score === scaleScores[0]);
  if (allSame && scaleScores.length > 0) {
    // 删除本次无效提交
    response.delete();
    // 抛出错误,用户端会直接弹出你设置的提示
    throw new Error("抱歉,不允许所有答案选择相同选项");
  }
}

第三步:配置表单提交触发器

  • 在脚本编辑器页面,点击左侧菜单栏的「闹钟」图标(触发器)
  • 点击右下角「添加触发器」按钮,按如下规则配置:
    • 选择要运行的函数:onFormSubmit
    • 选择要运行的部署:默认Head即可无需修改
    • 选择事件来源:来自表单
    • 选择事件类型:表单提交时
  • 点击保存,按照页面提示授权你的Google账号权限即可完成配置

注意事项

  • 表单内如果有除线性量表外的其他题型不影响校验逻辑,代码会自动过滤只校验线性量表的答案
  • 后续如果增减线性量表题数不需要修改代码,逻辑会自动适配
  • 授权时如果出现「此应用未经过Google验证」的提示,点击「高级」-「前往[你的脚本名称]」继续授权即可,自己开发的脚本不存在安全风险

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:36:02