制作一个包含答案提交表的Google表单

时间:2014-11-03 12:02:51

标签: javascript forms google-apps-script google-form

我希望使用Google表单启动一个简单(且便宜实施)的电子流程来替换我工作场所的零件申请流程。问题是我希望用户能够输入多个部分(以及相关信息,例如所需数量,预订参考等),但我想这样做而不必多次重复问题。

我对此进行了广泛的研究,找不到符合条件的任何内容 - 我的想法是使用Google Apps脚本以用户可以填写的形式创建表格。我发现的最接近的是:Creating Form Elements Dynamically

原始纸质表格如下所示 - 我希望该表格以类似的格式请求如下所示的信息:

enter image description here

提前致谢!

EDIT!为了说清楚,我很高兴考虑通过在线界面运行此流程的其他解决方案 - 我已经首先使用Google表格/表格,因为它们已经很好地集成到我的公司中并且我有经验他们(设置触发器等非常简单)

1 个答案:

答案 0 :(得分:1)

我知道OP可能已经很久没有解决这个问题了。但是,我过去曾按照这些原则做过一些事情,并认为我会share my approach与社区合作。

我将从前提开始,即Google表单只是用户使用其表单生成器以编程方式生成的普通HTML表单。因此,可以遍历生成的表单并提取提交位置和所有字段名称:

document.querySelectorAll('form').forEach((x) => {console.log(x.action)})```
document.querySelectorAll('[name^="entry."]').forEach((x) => {console.log(x.name + '=' + x.closest('[role="listitem"]').querySelector('[role="heading"]').innerText)})

以上代码段将使您大致了解组成部分。

剩下的就是使用您选择的框架构建前端的需求(我在AngularJs流行的高峰期使用了AngularJs),并根据需要整合了尽可能多的UI和验证。

这里,您可以灵活地将整个内容作为一个JSON提交,或者将其解析为单个字段并逐个提交条目,这是出于this demo的目的,我选择了最简单的方法,但这肯定有潜力。