freeCodeCamp/curriculum/challenges/chinese-traditional/01-responsive-web-design/responsive-web-design-projects/build-a-survey-form.md

58 lines
3.4 KiB
Markdown
Raw Normal View History

---
id: 587d78af367417b2b2512b03
title: 製作一個調查表格
challengeType: 3
forumTopicId: 301145
dashedName: build-a-survey-form
---
# --description--
**目標:** 在 [CodePen.io](https://codepen.io) 上創建一個與這個功能類似的 app<https://codepen.io/freeCodeCamp/full/VPaoNP>
在滿足以下 [需求](https://en.wikipedia.org/wiki/User_story) 並能通過所有測試的前提下, 你可以根據自己的喜好來美化你的 app。
你可以使用 HTML、JavaScript 以及 CSS 來完成項目。 由於目前你只學到了 CSS 課程,所以我們建議你只使用 CSS 來完成這個項目,同時鞏固一下你之前所學的內容。 你也可以使用 Bootstrap 或者 SASS。 我們不推薦你在這個項目中使用其他技術(比如 jQuery、React、Angular 或 Vue。 在後續的其他項目中,你將有機會使用像是 React 等其他技術棧。 我們會接受並嘗試修復你在使用推薦技術棧創建項目時報告的問題。 祝你編碼愉快!
**需求 1** 此 app 中應存在一個 `id="title"` 的大小爲 H1 的標題。
**需求 2** 此 app 中應存在一段 `id="description"` 的大小爲 P 的短小的描述。
**需求 3** 此 app 中應存在一個 `id="survey-form"``form` 元素。
**需求 4** 在表單元素內,應存在 `id="name"` 的輸入框(必填項),以便用戶輸入姓名。
**需求 5** 在表單元素內,應存在 `id="email"` 的輸入框(必填項),以便用戶輸入郵箱。
**需求 6** 如果用戶輸入了格式不正確的郵箱,則應出現來自 HTML5 表單數據校驗的錯誤信息。
**需求 7** 在表單內,用戶應可以在 `id="number"` 的輸入框中輸入數字。
**需求 8** 如果用戶在數字輸入框內輸入非數字內容,則應出現來自 HTML5 表單數據校驗的錯誤信息。
**需求 9** 如果用戶輸入的數字超出了使用 `min``max` 屬性定義的範圍,則應出現來自 HTML5 表單數據校驗的錯誤信息。
**需求 10** 表單中的姓名、郵箱和數字輸入框需有對應的包含描述輸入框用途的標籤。這些標籤的 id 應分別爲 `id="name-label"`、`id="email-label"` 和 `id="number-label"`
**需求 11** 表單中的姓名、郵箱和數字輸入框需有對應的描述文字作爲佔位符。
**需求 12** 在表單元素內,應存在一個 `id="dropdown"` 的下拉列表,用戶可以從中選取一個選項。
**需求 13** 在表單元素內,應至少存在一組單選按鈕,用戶可以從中選取一個選項。 每組應使用 `name` 屬性進行分組。
**需求 14** 在表單元素內,應存在幾個複選框,且每個複選框都應有 `value` 屬性。
**需求 15** 在表單元素的最後,應存在一個 `textarea` 元素,以便用戶輸入額外的批註。
**需求 16** 在表單元素內,應存在一個 `id="submit"` 的按鈕,以便用戶提交表單。
你可以<a href='https://codepen.io/pen?template=MJjpwO' target='_blank' rel='nofollow'>使用這個 CodePen 模版</a>創建你自己的項目,點擊 `Save` 即可創建你的新項目。 也可以使用此 CDN 鏈接在任何你喜歡的環境中運行測試:`https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js`。
完成項目並通過所有測試後,請輸入你的項目在 CodePen 上的鏈接並提交。
# --solutions--
```html
// solution required
```