【表單初階攻略|教學】不用寫程式,Google 表單嵌入網站做聯絡表單

【表單初階攻略|教學】不用寫程式,Google 表單嵌入網站做聯絡表單

你是否遇過這些問題?

❌ 表單信件寄不出去,訪客填單卻收不到通知
❌ 自架表單太複雜,SMTP 設定一堆坑
❌ 擔心被惡意攻擊,淪為垃圾信跳板

初階 – 適合新手
└ 5分鐘快速嵌入 Google 表單
└ 基本 RWD 設定
└ 收信通知設定
中階 – 適合想自訂外觀者
└ 用 HTML/CSS 打造自己的表單介面
└ 串接 Google Apps Script
└ 用Gmail自動回信給填單者
高階 – 適合專業需求
└ SMTP 進階設定
└ 防範惡意攻擊與垃圾信
└ 多語系郵件模板

如果你只是想要一個「能用、安全、免費」的表單,直接嵌入 Google 表單是最快的解法。本文將從最簡單的嵌入方式開始,逐步帶你走向「完全自訂外觀 + 客製化寄信」的進階做法。

如果你
已經會嵌入Google表單,想要自訂外觀 → [點此查看中階教學](尚未完成)
想要知道SMTP的精隨,一套完整的官網營運表單 → [點此查看付費教學](尚未完成)

一、初階大致流程

不知道如何建立表單嗎?點開下方步驟展開內容,可以看到圖文說明:

步驟一、建立一個google表單,設定好表單欄位後發布
點選建立新表單

設定完欄位後點選發布
如果擔心有人亂填,建欄位時,請設定好文字長度或條件限制

步驟二、作答者檢視權限:設為知道連結的任何人
可以在發布時設定權限
也可以發布後更改權限

也可以發布後更改權限

步驟三、點選右上三個點,選擇嵌入HTML
取得嵌入HTML連結
選擇『嵌入HTML』
複製彈窗中的連結
點選複製按鈕,以複製彈窗中的連結

步驟四、把複製下來的嵌入HTML內容,貼到期望表單出現的頁面
<iframe src="https://docs.google.com/forms/d/e/你的表單ID/viewform?embedded=true" width="640" height="661" frameborder="0" marginheight="0" marginwidth="0">載入中…</iframe>

通常長這樣,會帶有絕對值的寬(width=”OOO”)高(height=”OOO”)

步驟五、小幅度改動iframe高度,讓表單好看一點

步驟五是本篇文章的重點,通常複製下來的HTML高度都會出現『右側滾輪』,看起來有點醜,讓高度自適應的詳情整理在第二段。

二、為什麼要調整 iframe 高度?

如果不調整,可能出現這些問題:
❌ 表單被截斷,訪客一時看不到送出按鈕
❌ 出現雙重滾輪(網頁滾輪 + iframe 滾輪)超醜

⚠️不調整也是沒問題的,功能一樣沒少 ~ 只在乎功能的人可以略過第二段,就真的0程式碼。

由於跨域限制,網站無法改動 iframe 內部的內容高度,或讓 iframe 高度自適應內容,但至少可以更改iframe本身的樣式,因此需要手動測試並設定合適的高度值:

Step 1. 執行測試步驟

  1. 按 F12 或 Ctrl+Shift+I 打開開發人員工具
  2. 切換不同裝置檢視(桌面版/手機版)
  3. 對著iframe height屬性連點兩下,逐步調整 iframe 的 height 數值,直到右側滾輪消失(這不會真的改變高度,只是暫時模擬出來的效果)
展開圖片說明
切換手機版繼續測高度

Step 2. 取得高度數值

依你的表單題目數量不同,高度也會不同,以本表單為例:

  • 桌面版與手機版的斷點在寬度450px
  • 桌面版:高約 1000px
  • 手機版:高約 1200px

Step 3. 將數值數值應用於樣式

請把裡面的絕對高度height=”OOO”移除,換成一個自定義樣式class=”rwdheight”,接著設定rwdheight在不同螢幕之高度,取代原本的絕對值。

範例如下,嵌入表單會完整呈現,但若訪客填一大串內容,還是會把高度撐出滾輪。

<style>
.rwdheight{height:1000px;}

@media (max-width:450px){
.rwdheight{height:1200px;}
}
</style>

<iframe src="https://docs.google.com/forms/d/e/你的表單ID/viewform?embedded=true" width="640" class="rwdheight" frameborder="0" marginheight="0" marginwidth="0">載入中…</iframe>
⚠️ 注意事項:
這個高度值只是「當下」適用,如果之後在 Google 表單新增題目,需要重新測試並調整
建議預留一些緩衝空間,避免內容被截斷
無法做到真正的「自動完整顯示」,這是 iframe 跨域的技術限制

Step 4. 送出後變更高度

送出表單後會顯示確認畫面,但確認畫面高度很短,會導致下面出現一大片空白,解決這片空白的方式如下:

  1. 給 iframe 一個 Id,例如 id=”gform”
  2. 在 iframe 後方加上這段立即執行的 script,用於偵測 iframe 載入次數,如果載入第二次就把 iframe 高度改為330px
  3. 縮短高度的同時,也將視窗滾動到iframe置中的位置,訪客填單後即時能看到確認訊息

步驟1~4的完整程式碼範例如下:

<style>
.rwdheight{height:1100px;}

@media (max-width:450px){
.rwdheight{height:1400px;}
}
</style>

<iframe id="gform" src="https://docs.google.com/forms/d/e/你的表單ID/viewform?embedded=true" width="640" class="rwdheight" frameborder="0" marginheight="0" marginwidth="0">載入中…</iframe>

<script>
  (function() {
    const iframe = document.getElementById('gform');    
    const collapsed = 330; // 送出後的高度

    let loadCount = 0;
    iframe.addEventListener('load', () => {
      loadCount += 1;

      // 送出完成頁:縮短高度
      if (loadCount % 2 === 0) {
        iframe.style.height = collapsed + 'px';

      // 滾回表單中間
       iframe.scrollIntoView({
         behavior: 'smooth',
         block: 'center'
      });
      } 
    });
  })();
</script>

想要完全掌控表單高度?中階教學會教你用自訂表單解決這個問題(尚未完成)

三、Email如何收到填單通知?

方法一、Google 表單內建通知(最簡單)

Google 表單有內建的感謝信,位於表單的 設定 分頁,展開 回覆 內容,把收集電子郵件地址預設的 不收集 改為 由作答者手動輸入,傳送表單回覆副本給作答者選擇 一律
此時,表單的問題會多一個 電子郵件欄位,你不需要自己做Email欄位。

這樣Google 表單在收到填單後,便會傳送感謝信及內容備份給填單者。

想要收到填單通知,位於表單的 回覆 分頁,點右上角三個點 → 勾選「有新回應時透過電子郵件通知我」


✔️優點:不用寫程式,馬上啟用。
❌缺點:信件格式無法自訂,通知信的寄件人都是Google,不夠正式。

方法二、用 Google Apps Script 自動寄信(推薦)

如果你希望:

  • 訪客填完表單自動收到「感謝信」
  • 自訂信件內容(加上公司 Logo、品牌色)
  • 用自己的 Email 當寄件人(而非 Google)

→ 請看 [中階教學:用 GAS 打造專業表單系統](尚未完成)

四、到這裡,你已經完成基本的 Google 表單嵌入!

但如果你很在意:

  • 表單外觀跟網站風格不搭
  • iframe 高度變化不夠滑順,影響體驗
  • 想要更專業的自動回信功能
  • 想要指定寄件Email

那麼你需要的是…

準備好進入下一階段了嗎?

進階有程式碼的表單功能差異,請看下方表格:

功能初階教學(不寫程式碼)進階教學(GAS)
收到訪客填單通知OO
訪客收到網站填單感謝信OO
客製版型EmailXO
指定寄件人EmailXO

完整版的表單有連接GAS,若訪客填入正確的Email,會收到本站網域寄送的通知信,表單擁有者也會收到訪客填單通知,並且Email都是客製化模板。

常見問題 FAQ

Q1. Google 表單嵌入後,為什麼還是很醜

A:這是初階做法的限制,中階教學會教你完全自訂外觀

Q2. 可以改表單顏色嗎

A:可以在 Google 表單後台改主題色,但選擇有限

Q3. 訪客填完表單可以自動收到確認信嗎?

A:可以,但無法自訂Email的版型,若要自訂版型指定寄件人需要用 Google Apps Script,請看中階教學。

Q4. 這個做法能用在Wordpress網站上嗎?

A:是的,本文教學內容適用於所有一般網站,包括Wordpress。