google-apps-script - script教學 - google form script examples




Google表單中的隱藏字段 (2)

我正在為表單的每個提交添加一個唯一的ID。 現在,我將該ID作為第一個字段,並使用ID預填充它,並提供幫助文本,要求用戶不要修改此字段。 是否有任何選項我無法向用戶顯示此選項?


您無法直接通過Google表單執行此操作,但您可以解決此問題:

  1. 創建包含隱藏字段的Google表單。
  2. 創建Google Wep應用程序( https://developers.google.com/apps-script/guides/web
  3. 將以下代碼插入默認的Code.gs文件中。 (這基本上打開了index.html模板。)

    doGet(e) { return HtmlService.createTemplateFromFile('index').evaluate(); }

  4. 使用表單的源代碼創建一個新的index.html文件。

  5. 通過將style="display:none"到其封閉的<div>來隱藏輸入字段
  6. 使用<?= your_gscript_code() ?>任何模板信息插入<input value="">字段
  7. 發布Web應用程序(發布/部署Web應用程序...),您就完成了。 現在,您有一個表單的鏈接,該表單隱藏了所需的字段並預先填充了您的隱藏值。

使用此解決方案,您可以應用任何自定義樣式,甚至可以刪除其他不必要的html元素,同時保持Google託管的表單。


我假設您只對在用戶填寫表單之前以編程方式分配唯一ID的方式感興趣。

不,Google表單仍然沒有對HTML表單中隱藏字段的直接支持。 您唯一的選擇似乎是您已經知道的自定義樣式路線。

這是兩個有前途的想法,但是沒有用......

  1. 預先填寫已刪除的問題。 如果您從表單中刪除問題,它將保留在響應電子表格中 - 遺憾的是,Forms會抑制預填充URL中顯示的已刪除問題的值,否則您將能夠以這種方式將您的唯一ID欺騙到提交中。 (我認為這可能是一個聰明的解決方法,但是它失敗了,它沒有用。)

  2. 在跳過的頁面上預先填寫問題1 您可以在第二頁上設置實時表單將跳過的問題,還可以為該問題生成預填充的URL。 到目前為止,這麼好 - 但如果用戶實際上沒有導航到該頁面,則不會提交預先填寫的響應。

1感謝@AdamL,他在舊論壇上之前關於此主題的討論中提出了這個想法。





google-form