张贴谷歌表单前的GAS评估字段



我有一个谷歌表单,里面有一个文本字段。

我想在做文章之前评估最终用户键入的内容,但经过几天的搜索,我一直无法做到。

code.gs中,我可以访问文本字段并获取其属性。如果您看到sdi.html,则会触发函数doEval()的调用。

我的问题是,我不知道如何在谷歌表单中添加处理程序,以便检查文本字段的内容是否为我的应用程序所接受。例如:如果这是一个数字,则验证它,如果这是真的,则提交表单,否则取消提交过程并显示错误消息。

在传统的谷歌表单上,有创建处理程序的方法,但现在一切都在HtmlService方法下工作,我看不到如何做到这一点的例子

这是我的代码:

code.gs:

function doGet()
{
   return HtmlService.createHtmlOutputFromFile('sdi')
  .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function doEval()
{
    var frm = FormApp.getActiveForm();
    var items = frm.getItems();
    var text= items[1].asTextItem();
    text.setTitle("I can access the field from here!");
}

sdi.html:

<!DOCTYPE html>
<html>
<head>
<script>
  function onSuccess(isOk)
  {
  }
  google.script.run.withSuccessHandler(onSuccess)
      .doEval();
</script>
</head>
<body>
</body>
</html>

您可以使用条件语句验证用户在Goolge-From上的输入。这里有一个非常好的参考:https://support.google.com/docs/answer/3378864?hl=en

无法在实时表单中运行脚本。您只能对表单提交进行响应。

我对你的代码感到困惑,因为它看起来像是你试图使用网络应用程序来验证表单。这是行不通的。使用表单附带的脚本编辑器。在那里,您可以编写处理表单提交所需的代码。查看表单脚本快速入门:

https://developers.google.com/apps-script/quickstart/forms

最新更新