首页 > 解决方案 > 如果用户在考试中断开连接,如何自动提交谷歌表单?

问题描述

如果用户在考试中间断开连接,我对如何提交 Google 表单进行了大量研究。它不是基于我想要的时间。

Google 表单不保存答案。最近谷歌在 Google Workspace for Education 上推出了它,如果用户断开连接,它可以保存答案。但我正在寻找普通的 Gmail 用户。

我想做的是,我将启用“提交后编辑”选项。因此,当用户因电力或互联网问题退出表单页面时,表单将自动提交,然后她/他将收到一封包含编辑链接的电子邮件。他们之前的回复将被保存。现在考试结束后,我将停止回答。我怎样才能实现它?

标签: google-apps-scriptgoogle-forms

解决方案


您可以与 Google 表单交互的唯一方法是通过submit.

所以基本上你不能保存在disconnect.

你可能想使用Edit after submit你提到的。

它可供普通 Gmail 用户使用。你能具体说一下你的问题是什么吗?


如果您需要在用户断开连接时自动提交。然后你需要一个网络应用程序并提交beforeunload

Google Apps 脚本

function handleSubmit(formData) {
  const id = 'formId';
  const form = FormApp.openById(id);
  const items = form.getItems();
  const response = form.createResponse();
  Object.keys(formData).forEach(function(key) {
    const i = items[key].asTextItem();
    const r = i.createResponse(formData[key]);
    response.withItemResponse(r);
  });
  response.submit();
  // return response.getEditResponseUrl();
}

网络应用

  window.onbeforeunload = function(e) {
    e.preventDefault();
    const formData = new FormData(form);
    google.script.run.handleSubmit(formData);
    return 'Form submitted';
  }

推荐阅读