Files
2021-03-14 21:20:39 -06:00

58 lines
3.4 KiB
Markdown
Raw Permalink 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** 表单中的姓名、邮箱和数字输入框需有对应的包含描述输入框用途的标签。这些标签的 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
```