从传统意义上讲,"表单"这个词指代的是一个文档,这个文档中有一些空白区域可供用户填写信息。区别于传统意义上的表单,HTML 中的表单不仅可以供用户填写信息还可以为用户提供信息。
例如,城东社区的登录(http://bbs.cdsy.xyz/member.php?mod=logging)或注册(http://bbs.cdsy.xyz/member.php?mod=register)页面使用的就是表单。当用户填写了相应信息后,这些信息就会经过表单服务器被提交到网站的后台,后台管理人员可以经过一系列操作拿到用户输入的信息来判断是否允许用户登录或注册。接下来我们看一下在网页中是如何使用表单的。
HTML 中规定,使用 <form> 标签来表示表单。我们都知道表格的行、列及单元格需要放在 <table></table> 标签中,表单里的元素也不例外,同样需要放在 <form></form> 标签中。<form> 标签有几个常用的属性,见下表:
常用属性 | 属性值 | 说明 |
---|---|---|
action | url | 用户点击提交按钮时,表单被提交到的位置。 |
method | get / post | 表单提交时所使用的 http 请求方法,只能是 get 或 post 中的任意一种。 |
name | 自定义 | 表单的名称,不能包含特殊字符和空格。 |
具体语法如下:
此处使用提交方法为post,还可以设置为get。我们来看一下两者之间有什么区别:
以上我们列举的是 <form> 标签的常用属性,接下来看一下它的所有属性:
所有属性 | 描述 |
---|---|
action | 规定用户点击提交按钮时,表单被提交到的位置。 |
method | 规定表单提交时所使用的 http 请求方法,只能是 get 或 post 中的任意一种。 |
name | 定义表单的名称,不能包含特殊字符和空格。 |
accept-charset | 规定在被提交表单中使用的字符集(默认:页面字符集)。 |
autocomplete | 规定浏览器应该自动完成表单(默认:开启)。 |
enctype | 规定被提交数据的编码(默认:url-encoded)。 |
novalidate | 规定浏览器不验证表单。 |
target | 规定 action 属性中地址的目标(默认:_self)。 |
如果某个文档要加入多个表单,<form> 标签不可以互相嵌套。表单的提交功能我们在后面章节会详细讲解。