【发布时间】:2021-11-08 05:26:15
【问题描述】:
这是我的情况。我有一长串学生(每个学生都有一个 ID);每个学生对食物和游戏都有自己的偏好……(所有这些数据都存储在 Google 电子表格中)。我想向所有学生确认信息都是正确的。
我可以通过向每个学生发送一个带有预填链接的 Google 表单来做到这一点,然后在他们编辑并点击提交后,我将扫描并更新电子表格,然后将包含预填信息的新链接重新发送给他们他们刚刚编辑过。
但是,我发现它有点“混乱”(?我不确定这是否是正确的词,因为他们必须检查他们的电子邮件,点击链接,以及何时需要修改他们的数据再次,他们必须找到我发送的最新电子邮件,然后单击新链接。
我想知道这是否可以仅通过使用 Google 表单来解决(或者可以通过将 Google 表单嵌入到另一个页面中?)?我正在考虑创建 2 个 Google 表单:
- 一个表格供学生输入他们的 ID,当他们点击提交时,他们将被带到第二个 Google 表格,其中预先填写了最新信息(从电子表格中获取)。
- 第二个表格是填写了他们之前输入的信息的表格。
由于 Google 应用脚本将不允许在提交表单时将用户重定向到其他网站(包括其他 Google 表单?),所以我正在考虑将 ID Google 表单嵌入到我在 Google 网站上的网站。
这是我非常糟糕的嵌入:
<!-- Normal form embed code, add an ID -->
<iframe id="gform" src="https://docs.google.com/forms/d/e/MyFirstFormURL/viewform?embedded=true" width="640" height="700" frameborder="0" marginheight="0" marginwidth="0" style="margin:0 auto; max-width:100%;">Loading…</iframe>
<script type="text/javascript">
var load = 0;
document.getElementById('gform').onload = function(){
/*Execute on every reload on iFrame*/
load++;
if(load == 2){
/*Second reload is a submit*/
document.location = "https://docs.google.com/forms/d/e/MySecondFormURL/viewform?embedded=true";
}
}
</script>
但我遇到了 2 个问题(或者可能是 3 个问题):
- 我对 iframe 使用 onload 事件 来检查表单是否已经提交;这很糟糕,因为即使我点击“清除表单”,它仍会将我引导至第二页。
- 我无法读取学生在 iframe 中嵌入的 Google 表单中提供的 ID。 :(
- 即使我能以某种方式读取 Google 表单中的 ID,我也无法在外部在我的电子表格上执行搜索以获取所需的预填链接(必须由 GAS 完成后端,对吧?)
我有一些编程方面的基本知识(比如一点点 C 和 C++;但在 Web 开发方面我几乎没有(几乎没有)经验),我只是列出了我想到的所有内容,并在这篇文章中工作。 :(
有人可以推我一下吗? :(
非常感谢您,:*
【问题讨论】:
标签: javascript google-apps-script google-sheets google-forms