透過QueryString幫Google Forms套上預設值

Google Forms好用之處很多,但其中一個令人詬病進而被嫌棄不用就是無法為已知的欄位預先填寫對應的值,但其實這是可以達成的。以下分為兩種方法來介紹,專家模式必須透過一些手法來完成,業餘模式可以輕鬆地透過表單的填寫過程來完成。

幫Google Forms加上預設值(專家模式)

Step 1. 先去Google Forms建立如下列這樣的表單,可以看到有經典的單行文字、多行文字、複選欄位、單選欄位等。

Step 2. 接著就是Hack的重點了,打開瀏覽器開發者模式(F12),框選姓名這個欄位,使其成為下圖的樣態:

Step 3. 到原始碼這邊觀察,可以看到圈選區塊HTML的上方,有一組類似下圖的數值(我故意用綠色標記),請把這組1635259711數值抄下。請特別注意,最終你自己產生出來的Google Forms表單的欄位數字一定跟圖片中顯示的不一樣,所以必須自行調查。

Step 4. 再舉一個例子,這次我們考慮到複選欄位並進行框選。

Step 5. 到原始碼這邊觀察,可以看到圈選區塊HTML的上方,有一組類似下圖的數值(我故意用綠色標記),請把這組894342764數值抄下。

Step 6. 進行字串組合:請使用URL QueryString的標準語法,利用Key=Value排列並透過&符號串接組織起來。例如:

鍵值1=數值1&鍵值2=數值2&鍵值3=數值3

所以在Step 3那邊我們拿到1635259711這個代號代表著姓名欄位,對Google Forms來說他的鍵值就是entry.加上1635259711,所以如果我們想要把王小明這個名字帶入表單中,那麼就必須寫成下列:

entry.1635259711=王小明

所以在Step 5那邊我們拿到894342764這個代號代表著參加原因欄位,對Google Forms來說他的鍵值就是entry.894342764,所以如果我們想要讓有興趣親友介紹這個複選值帶入表單中,依據NameValue Collection可複值原則帶入兩次就好,那麼就寫成下列:

entry.894342764=有興趣&entry.894342764=親友介紹

Step 7. 依據上列的原則進行組合後,你可能會產生一組與下列雷同的Query String:

entry.1635259711=王小明&entry.385425950=A123456789&entry.736738368=AAA%0ABBB&entry.894342764=有興趣&entry.894342764=親友介紹&entry.1391179794=高雄

Step 8. 將這組Query String帶入到Google Forms分享出來讓人家填寫的網址,就會大概長的如下方網址。這裡另外可以特別注意的是,在多行文字方框(MultiLine Text, TextArea)的情況下,換行可以使用%0A來表示。

https://docs.google.com/forms/.../viewform?entry.1635259711=王小明&entry.385425950=A123456789&entry.736738368=AAA%0ABBB&entry.894342764=有興趣&entry.894342764=親友介紹&entry.1391179794=高雄

Step 9. 當有人點擊該網址,如果沒有意外的話應該就會得到下列自動填入數值到表單畫面:

幫Google Forms加上預設值(業餘模式)

如果你並非是一個會打開瀏覽器開發者模式(F12)看得懂HTML原始碼的人,Google有提供一個輕鬆簡單的途徑讓你編輯表單預設值,請依循下列步驟進行設定:

Step 1. 在Google Forms編輯模式下點選右上角的三個垂直點,進入設定選單後,點選取得預先填入的連結

Step 2. 當作自己在填寫表單一樣,在上面輸入你想要預先設定的預設值,填寫完成後點選最下方的取得連結按鈕。

Step 3. 點選後Google Forms會彈出一個對話方框,請點選複製連結即可取得連結到剪貼簿中。

最後把這個已經在剪貼簿中的字串貼到記事本中,你將可以發現他與專業模式貼上的URL字串沒有太大的差異,但是有關於中文字的部分全部都先被UrlEncode起來了。(其實專家模式產生的網址,貼到瀏覽器送出後,中文也是會被自動UrlEncode)

https://docs.google.com/forms/.../viewform?usp=pp_url&entry.1635259711=%E7%8E%8B%E5%B0%8F%E6%98%8E&entry.385425950=A123456789&entry.736738368=AAA%0ABBB&entry.894342764=%E6%9C%89%E8%88%88%E8%B6%A3&entry.894342764=%E8%A6%AA%E5%8F%8B%E4%BB%8B%E7%B4%B9&entry.1391179794=%E9%AB%98%E9%9B%84

以上就是簡單快速的取得預設欄位的表單方法,希望對你有幫助。

GoogleForms DefaultValue AutomaticFillValue UrlParameter UrlQueryString