完全客製Google 表單,美化表單樣式 - Let's Write

文章推薦指數: 80 %
投票人數:10人

Google Forms 會提供的就是action 的URL,以及各input 的name。

製作後的Demo 如下:. 表單製作完後,記得回覆那邊要按下「建立試算表」 ... 跳至主要內容 完全客製Google表單,美化表單樣式 2022-07-062019-08-01/August 本篇大綱 Google表單很方便,但可以更好的使用設計所需欄位,用Google表單製作從GoogleForms裡拿必要資訊取POST的URL取各欄位的name–1取各欄位的name–2建立一個網頁的表單客製表單+GoogleForms的值POST到GoogleForms Englishversion:FullycustomizableGoogleForms 2020.07.30更新:因為Google表單有變動,因此新增「取各欄位的name–2」段落來因應抓name值的部份。

2019.10.12更新客製表單+GoogleForms的值程式碼部份 Google表單很方便,但可以更好的使用 一般人使用Google表單(以下稱呼統一用GoogleForms),就是進到Google雲端硬碟後,新增一個GoogleForms,然後就用他所見即所得的設計方式,表單拉一拉後,就直接使用了。

當然,這是最快速的方式,但就是醜。

即便GoogleForms把MaterialDesign用進了UI裡,也可以自行上傳表單的主視覺圖,一樣比不上經過設計師設計過的樣子。

最近比較常碰到需要存資料的問題,免費的資料庫除了Firebase外,如果只是存簡單的欄位,GoogleSheets是個好選擇,在寫下一篇如何用GoogleExcel當資料庫之前,這篇先寫如何用GoogleForms來當作頁面上的form,會實作頁面常見的「聯絡我們」表單當範例。

本篇用的素材有以下: 表單內容:Google表單表單樣式:用Skeleton製作本站範例的原始碼:GitHub 設計所需欄位,用Google表單製作 這篇示範怎麼用GoogleForms當作網頁的form,網頁的form常用的東西有: input、radio、select、textarea 因此,示範的欄位就用以下: 這是廣告,點擊一下可以幫本站多個一點點的廣告收入,謝謝 姓名(input)、性別(radio)、詢問類別(select)、詢問內容(textarea) GoogleForms基本上不太需要教學,但要注意的是: 不論設計的欄位是input,還是radio、select、textarea,在製作表單時都要選擇「簡答」的格式。

用GoogleForms最後都是傳單一的值到GoogleSheets裡,因此各項欄位的值實際上是頁面的form去抓,而不用透過GoogleForms去抓。

GoogleForms會提供的就是action的URL,以及各input的name。

製作後的Demo如下: 表單製作完後,記得回覆那邊要按下「建立試算表」,建一個GoogleSheets出來,才能看到資料是否有確實進來。

從GoogleForms裡拿必要資訊 一般頁面上的form,如果要能傳資料到後端,需要2樣東西: POST的URL各欄位的name GoogleForms在表單建立後,就會有這2樣東西,只要在表單上用開發人員工具看就可以了。

取POST的URL 對著GoogleForms點右鍵,接著選擇「檢查」,Windows系統也可以直接按下「F12」即可,就會看到以下畫面: 這是廣告,點擊一下可以幫本站多個一點點的廣告收入,謝謝 開啟開發人員工具 左邊是原本表單的頁面,右邊就是程式碼。

滑鼠隨便在程式碼的地方點一下,就會看見選到的行數反白,如下: 右邊藍底白字的部份就是選到的程式碼 接著,Windows系統的話按下crtl+F,Mac系統則是按下cmd+F,就會看見搜尋框,如下: 展開搜尋框 在搜尋框裡輸入「

裡面就有我們要的name: name="entry.248434920" 其他三項也是同樣處理,整理摘出來的name各自如下: 姓名:entry.248434920性別:entry.1569038925詢問類別:entry.1509045370詢問內容:entry.758411200 有了POST的URL、各input的name,就可以客製自己的表單,然後測試submit時資料是否有進到GoogleSheets中。

取各欄位的name–2 2020.07.30補充:今天在做別的案子,也是想客製Google表單時,發現name值被移動了,如果看了上面一段的方式找不到「name」的話,可以改用這段的方法。

一樣是按下「F12」後出現看到原始碼的區塊,隨便點擊原始碼的一行,接著Mac的話按下「cmd+F」,Windows的話按下「control+F」,會出現一個搜尋框: 出現搜尋框 在搜尋框裡輸入「entry.」,就會看見原始碼的地方跳到有一排inputtype="hidden"的,這一排input的name就是我們要找的name值: 搜尋「entry.」,會看到帶有name的input 原則上這些input的順序,就是我們題目的順序,如果不確定的話,我們只需要在表單上填上值,就會看見這些input的value也跟著改,就能確定哪個input是哪一題了: 藉由輸入值後,看哪個value動了來找對應的name 建立一個網頁的表單 本篇直接用Skeleton簡單的製作一個,一般會有設計師設計美美的表單出來,這篇是示範用,就看上去不醜就好XD~ 建立完的表單如下: 客製表單Demo 可以看到,雖然在GoogleForms製作的階段,每一題都是用最基本的簡答樣式,但在客製form時,可以區分出input、radio、select、textarea的。

只要最後能抓到值,並POST出去,就可以確保資料有收到。

客製表單+GoogleForms的值 有了從GoogleForms抓到的url、name,也有了自己寫的form,下一步就是把name塞進form的name裡。

name值對應的是GoogleSheets裡的欄位,塞值的方式有2種: 第一種是直接把GoogleForms抓到的name,寫在客製表單的name裡,url也直接寫在formaction裡,最後的送出按鈕type設成submit,一樣可以送出,也一樣可以看到GoogleSheets裡有收到資料。

第二種是採用POST的方式,直接POST到GoogleForms的url,data的key值就是name。

本篇會用第二種的方式,所以會需要一點寫code的基礎。

如果對code不熟,可以直接採用第一種的方式。

以下列出如果是第一種方式,code會變成以下: POST到GoogleForms 整理一下從GoogleForms拿到的url、name: url:https://docs.google.com/forms/d/e/1FAIpQLSeTgHEpVpuV_OHakO-25X-O7I4T1tIzIAUqHWLRvUqG9e6TvQ/formResponse姓名name:entry.248434920性別name:entry.1569038925詢問類別name:entry.1509045370詢問內容name:entry.758411200 除了radio用name抓value外,其他欄位都用id來抓值。

各欄位目前的HTML如下: 這邊偷懶直接用jQuery來寫(頁面裡記得要引用),首先是抓各個input的值: 一般表單都會驗證是否各欄都有填寫,或是格式對不對,這篇主要是講怎麼客製GoogleForms的部份,就不寫驗證了,直接沒填寫的值都用成「未填寫」。

抓完值以後,接著就是要POST到GoogleForms上: data裡的key,就是從GoogleForms拿到的name。

AJAX裡的URL,就是從GoogleForms拿到的url。

JavaScript寫完後,就可以來測試資料有沒有進到表單裡。

先填寫表單 資料進來了! 測試成功,資料有順利進到GoogleSheets裡。

本篇使用的原始碼在這,歡迎下載取用: https://github.com/letswritetw/letswrite-customize-google-form 另外也提供測試的頁面:客製表單 這邊可以看到資料有沒有送出:GoogleSheets回應表 收藏此筆記:FacebookTwitterTelegramPocket電子郵件列印 看過本篇的人也看過: SummaryArticleName完全客製Google表單,美化表單樣式Description本篇大綱:google表單很方便,但可以更好的使用、實作1:設計所需欄位,用Google表單製作、實作2:從googleforms裡拿必要資訊url/name、實作3:建立一個網頁的表單、實作4–1:客製表單+googleforms的值、實作4–2:POST到googleformsAugustus Augustus Let'sWrite Let'sWrite https://letswrite.tw/wp-content/uploads/2020/08/logo_512.jpg 以下是留言,但關於留言的部份必需先讓你們知道: 本站的文章都是August因為覺得有趣,才會實作並整理成筆記文而後進行發表。

如果留言是希望把Demo改成「你想要」的樣子,或是把功能改成「符合你需求」的樣子, Sorry~除非那修改是August也有興趣的,不然不會幫你們寫程式去面對工作或是交作業。

未來這類的留言不會再主動回覆。

😎 另外,公開信箱是為了讓金流驗證用, 因為之前遇過幾次回信協助解決問題後,對方卻一聲謝謝也沒有,就這樣拿去幫工作交差。

因此決定不再回覆信件,有疑問就利用留言功能囉。

搜尋: Translate 简体中文繁體中文English日本語 最新文章 ColorThief找出圖片裡的顏色 OSM+Leaflet學習筆記3:定位、全螢幕、小地圖、列印、客製選單 Javascript,XML轉JSON OSM+Leaflet學習筆記2:移動中心點、抓目前地點 OSM+Leaflet學習筆記1:建地圖、marker、事件、換圖層 製作一個Hugo+TailwindCSS初始檔 CLI學習筆記 表單驗證:中文姓名、身分證、手機條碼、生日、信箱、手機、選擇縣市 大家都在看WebSocket基本介紹及使用筆記GoogleMapsAPI學習筆記-1:地圖、標記、客製樣式如何用GoogleSheets/Excel當作資料庫完全客製Google表單,美化表單樣式MacBook用隨身碟執行Windows10:WindowsToGo、WinToUSBWord、Excel合併列印功能使用筆記Google表單,提交後系統自動寄送回覆通知email用GoogleAppsScript取得GoogleSheets/Excel資料 請作者一杯咖啡? 寫文章需要咖啡提神,回答問題需要時間及心力。

如果覺得本站文章對工作有幫助、技術有進步,或是問題有得到解答,歡迎請本站喝杯咖啡。

中杯60元、大杯90元,加碼特大杯120元。

你請的每一杯咖啡,對本站來說都是莫大鼓勵:) 請喝咖啡(台灣)Buymeacoffee(Foreign) Y**g 哈*哈**啦 M** L**ce**tT***g H**l*y He**y 小*瓜 ki*******37 A**y S**Y**C** R****_L** I**n M******C**u R***y 曾* M** L**O 放個廣告賺點養主機的$$,謝謝 Let’sWrite來訪人數 位大大相挺,謝謝。

(如何製作來訪人數?) 訂閱新文章通知 直接加入Telegram的頻道,有最新文章時會收到廣播通知: DMCAProtection放個廣告賺點養主機的$$,謝謝 Let'sWrite 前端工程師August的學習筆記—solvingproblems,insimpleways. API Front-End Google Bot Vue PWA WordPress Followus FB Telegram GitHub IG Twitter 網站地圖 隱私權政策 RSS [email protected](金流驗證用) 請喝咖啡(台灣) Buymeacoffee(Foreign)


請為這篇文章評分?