【发布时间】:2016-03-29 00:33:25
【问题描述】:
我有一个 Google 表单,里面有一个文本字段。
我想在发布帖子之前评估最终用户键入的内容,但经过几天的搜索,我无法做到。
在code.gs 中,我可以访问文本字段并获取它的属性。如果你看到sdi.html,这会触发函数doEval()的调用。
我的问题是我不知道如何在 Google 表单本身中添加处理程序,以便我可以检查文本字段的内容是否可以被我的应用程序接受。例如:验证它是否为数字,如果为真则提交表单,否则取消提交过程并显示错误消息。
在旧版 Google 表单上,有创建处理程序的方法,但现在一切都在 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>
【问题讨论】:
-
表单中有提交按钮吗?您可以使用
typeof来测试值的数据类型。现在,google.script.run.不在函数内部。如果你把它放在一个函数里面,那么你可以运行google.script.run.或者不运行。 -
您显示的不是谷歌表单。这是一个网络应用程序。
-
你好,是的,你是对的,我一开始解释错了,是形式,但我从来没有表现出来。请检查我刚刚对 Spencer Easton 所做的回复,了解我在哪里解释得更好。干杯。
标签: google-apps-script google-forms