STEP GUIDE · Checkpoint 2

這個步驟要做什麼、改哪裡、怎麼看結果

這一步聚焦 TASK-02;下方只比較「Checkpoint 1 → Checkpoint 2」的真實異動。

01

三項 Task 進度

TASK-01已完成

驗證姓名與 Email

預計修改:script.js

完成後:空白或不合法 Email 不會送出

TASK-02本步驟處理

建立明確 POST payload

預計修改:script.js

完成後:預覽區顯示即將送出的 JSON

TASK-03稍後處理

送出並管理 loading/success/error

預計修改:script.js

完成後:成功與失敗都可重現,送出期間按鈕停用且完成後恢復

02

HTML、CSS、JavaScript 與文件實際異動

展開檔案卡查看必要差異;只有程式碼區可以橫向捲動。

HTML本步驟無異動

檔案:index.html

修改前

前一步與本步驟沒有實質差異。

修改後

本步驟不需修改此語言。
CSS本步驟無異動

檔案:style.css

修改前

前一步與本步驟沒有實質差異。

修改後

本步驟不需修改此語言。
JavaScript本步驟有異動

檔案:script.js

修改前

function createPayload(){return {}}
async function handleSubmit(event){event.preventDefault();status.textContent="尚未完成送出流程"}

修改後

function createPayload(){return {name:form.elements.name.value.trim(),email:form.elements.email.value.trim(),message:form.elements.message.value.trim()}}
async function handleSubmit(event){event.preventDefault();const payload=createPayload();const error=validate(payload);preview.textContent=JSON.stringify(payload,null,2);status.textContent=error||"尚未完成送出流程"}
README/其他文件本練習未使用

檔案:README.md

修改前

本練習沒有這個檔案。

修改後

本步驟不需修改此語言。
03

怎麼看到結果

  1. 準備

    先保持表單空白並開啟 DevTools Console;Solution 再觀察送出期間的按鈕與狀態文字。

  2. 操作

    填入有效資料後送出,查看預覽區並確認 JSON payload 的欄位和值正確。

  3. 預期

    預覽區顯示即將送出的 JSON

Checkpoint 2 TASK-02

建立明確 POST payload

完成後可見:預覽區顯示即將送出的 JSON

MOCK POST

聯絡我

尚未建立 payload