Web 表单构建块
本模块提供了一系列文章,帮助你掌握 Web 表单的基础知识。Web 表单是与用户交互的非常强大的工具 - 最常见的是它们用于收集用户的数据,或允许他们控制用户界面。然而,由于历史和技术原因,如何充分利用它们的潜力并不总是显而易见的。在下面列出的文章中,我们将介绍 Web 表单的所有基本方面,包括标记 HTML 结构、设置表单控件的样式、验证表单数据以及向服务器提交数据。
¥This module provides a series of articles that will help you master the essentials of web forms. Web forms are a very powerful tool for interacting with users — most commonly they are used for collecting data from users, or allowing them to control a user interface. However, for historical and technical reasons, it's not always obvious how to use them to their full potential. In the articles listed below, we'll cover all the essential aspects of Web forms including marking up their HTML structure, styling form controls, validating form data, and submitting data to the server.
先决条件
¥Prerequisites
在开始本模块之前,你至少应该完成我们的 HTML 简介。此时你应该会发现 入门指南 很容易理解,并且也能够使用我们的 基本的原生表单控件 指南。
¥Before starting this module, you should at least work through our Introduction to HTML. At this point you should find the Introductory guides easy to understand, and also be able to make use of our Basic native form controls guide.
然而,掌握表单不仅仅需要 HTML 知识,你还需要学习一些特定的技术来设计表单控件的样式,并且需要一些脚本知识来处理验证和创建自定义表单控件等事情。因此,在你查看下面列出的其他部分之前,我们建议你先学习一些 CSS 和 JavaScript。
¥Mastering forms however requires more than just HTML knowledge — you also need to learn some specific techniques to style form controls, and some scripting knowledge is required to handle things like validation and creating custom form controls. Therefore, before you look at the other sections listed below we'd recommend that you go away and learn some CSS and JavaScript first.
上面的文本很好地说明了为什么我们将 Web 表单放入其自己的独立模块中,而不是尝试将其中的一些内容混合到 HTML、CSS 和 JavaScript 主题区域中 — 表单元素比大多数其他 HTML 更复杂 元素,并且它们还需要相关 CSS 和 JavaScript 技术的紧密结合才能充分利用它们。
¥The above text is a good indicator as to why we've put web forms into its own standalone module, rather than trying to mix bits of it into the HTML, CSS, and JavaScript topic areas — form elements are more complex than most other HTML elements, and they also require a close marriage of related CSS and JavaScript techniques to get the most out of them.
注意:如果你正在使用无法创建自己的文件的计算机/平板电脑/其他设备,你可以尝试在线编码程序(例如 JSBin 或 Glitch)中的(大部分)代码示例。
¥Note: If you are working on a computer/tablet/other device where you don't have the ability to create your own files, you could try out (most of) the code examples in an online coding program such as JSBin or Glitch.
入门指南
不同的表单控件
¥The different form controls
- 基本的原生表单控件
-
我们从本节开始,详细了解原始 HTML
<input>
类型的功能,了解可用于收集不同类型数据的选项。 - HTML5 输入类型
-
在这里,我们继续深入研究
<input>
元素,查看 HTML5 发布时提供的附加输入类型,以及它们提供的各种 UI 控件和数据收集增强功能。此外,我们还查看<output>
元素。 - 其他表单控件
-
接下来我们看一下所有非
<input>
表单控件和相关工具,例如<select>
、<textarea>
、<meter>
和<progress>
。
表单样式指南
验证并提交表单数据
进阶文章
¥Advanced articles
以下文章对于学习路径来说并不是必不可少的,但当你掌握了上述技术并想了解更多信息时,它们将变得有趣且有用。
¥The following articles aren't essential to the learning pathway, but they'll prove interesting and useful when you've mastered the above techniques and want to know more.
- 如何构建自定义表单控件
-
你会遇到一些情况,原生表单小部件无法提供你所需要的内容,例如 因为样式或功能。在这种情况下,你可能需要使用原始 HTML 构建自己的表单小部件。本文通过实际案例研究解释了如何执行此操作以及执行此操作时需要注意的事项。
- 通过 JavaScript 发送表单
-
本文着眼于使用表单组装 HTTP 请求并通过自定义 JavaScript(而不是标准表单提交)发送它的方法。它还着眼于你为什么要这样做,以及这样做的影响。(另见 使用 FormData 对象。)
- 表单控件的 CSS 属性兼容性表
-
最后一篇文章提供了一个方便的参考,允许你查找哪些 CSS 属性与哪些表单元素兼容。
也可以看看
¥See also