【问题标题】:validating google form before "submit"在“提交”之前验证谷歌表单
【发布时间】:2018-04-19 12:52:31
【问题描述】:

我正在寻找一种“在”提交之前验证表单的方法。
我需要:

a) 从链接的响应表中获取字段 A 的总值。如果总值 > 0,则继续步骤 b。如果不是,则“停用”字段 A 并继续执行步骤 c。
b) FORM的字段A可以接收输入。
c) 如果没有,请选择另一个字段(B、C...或 F)
... 等等。

是否可以这样做,而不必提交(这将关闭它)并发送到响应表?我想留在 FORM 中,直到用户和验证脚本最终批准输入。

my wip form

下面是我正在阅读的一些文献。

// Open a form by ID and log the responses to each question.
 var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
 var formResponses = form.getResponses();
 for (var i = 0; i < formResponses.length; i++) {
   var formResponse = formResponses[i];
   var itemResponses = formResponse.getItemResponses();
   for (var j = 0; j < itemResponses.length; j++) {
     var itemResponse = itemResponses[j];
     Logger.log('Response #%s to the question "%s" was "%s"',
         (i + 1).toString(),
         itemResponse.getItem().getTitle(),
         itemResponse.getResponse());
   }
 }

google developers's forms reference:

【问题讨论】:

  • 一旦用户点击 Google 表单中的“提交”按钮,就无法阻止将答案保存到 Google 表单中。如果这就是你要问的。单个问题具有“内置”验证功能,但您不能根据第一个问题的回答方式来更改另一个问题中的选项。您可以显示或不显示其他页面,具体取决于问题的回答方式。但是,如果用户需要编辑他们之前的回复,如果用户没有重新访问每个问题,就会出现原始数据无法保存的问题。
  • 发送@SandyGood。因此,我剩下的 2 个替代方案是:1)评估每个问题,并根据他们的“状态”,我可以将他们的颜色更改为红色,以警告用户不要使用它们,2)验证之后 -在我的响应表中提交数据,如果数据不符合预期,则将可编辑的表单链接发回给用户以修改他的答案。连同那封电子邮件,我可以向他发送仍然可用的建议选项列表。
  • 您当然可以在提交后进行您想要的任何类型的评估,然后发回一封电子邮件,其中包含您想要的任何信息,以及一个编辑 URL 以编辑原始提交。

标签: validation google-apps-script google-forms


【解决方案1】:

Google 表单包含一种用于验证某些问题类型的内置方法。我们可以使用Class TextValidationBuilder 以编程方式向支持的问题类型添加验证,但我们不能在提交响应之前使用 JavaScript 进行验证。

提交响应后,我们可以使用 JavaScript 进行验证,但验证结果不会显示在表单响应视图中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    • 2014-09-01
    相关资源
    最近更新 更多