我有一个谷歌表单,里面有一个文本字段。
我想在做文章之前评估最终用户键入的内容,但经过几天的搜索,我一直无法做到。
在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