Files
freeCodeCamp/curriculum/challenges/chinese/01-responsive-web-design/responsive-web-design-projects/build-a-survey-form.md
Oliver Eyton-Williams ee1e8abd87 feat(curriculum): restore seed + solution to Chinese (#40683)
* feat(tools): add seed/solution restore script

* chore(curriculum): remove empty sections' markers

* chore(curriculum): add seed + solution to Chinese

* chore: remove old formatter

* fix: update getChallenges

parse translated challenges separately, without reference to the source

* chore(curriculum): add dashedName to English

* chore(curriculum): add dashedName to Chinese

* refactor: remove unused challenge property 'name'

* fix: relax dashedName requirement

* fix: stray tag

Remove stray `pre` tag from challenge file.

Signed-off-by: nhcarrigan <nhcarrigan@gmail.com>

Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
2021-01-12 19:31:00 -07:00

58 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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**表单中的姓名、邮箱和数字输入框需有对应的包含描述输入框用途的 `label`。这些 `label``id` 应分别为 `"name-label"``"email-label"``"number-label"`
**需求 11**表单中的姓名、邮箱和数字输入框需有对应的描述文字作为占位符(`placeholder`)。
**需求 12**在表单元素内,应存在一个 `id``"dropdown"` 的下拉列表,用户可以从中选取一个选项。
**需求 13**在表单元素内,应至少存在一组单选按钮,且应使用 `name` 属性进行分组。用户可以从中选取一个选项。
**需求 14**在表单元素内,应存在几个复选框,且每个复选框都应有 `value` 属性。用户可以选中这些复选框。
**需求 15**在表单元素的最后,应存在一个 `textarea` 元素,以便用户输入额外的批注。
**需求 16**在表单元素内,应存在一个 `id``"submit"` 的按钮,以便用户提交表单。
你可以通过 fork [这个项目](http://codepen.io/freeCodeCamp/pen/MJjpwO)来构建你的项目,也可以使用此 CDN 链接在任何你喜欢的环境中运行测试:`https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js`
完成项目并通过所有测试后,请输入你的项目在 CodePen 上的链接并提交。
# --solutions--
```html
// solution required
```