form表单主要用于用户与web应用程序进行数据交互,它允许用户将数据发给web应用程序,网页也可以拦截数据的发送以便自己使用。form通常有一到多个表单元素组成,这些表单元素是单行/多行文本框,下拉菜单,按钮,复选框,单选按钮,时候表单元素时一般要配合label标签,用于描述其目的。属性如下。
action 用来处理表单的应用程序
method 浏览器用来提交表单的HTTP方法
get 对应于HTTP协议get方法,表单数据被附加在uri上,使用“?”分隔
post 对应于HTTP协议的post方法,表单数据包含在HTTP协议的请求报文
name 设定表单的名称
target 表示浏览器接收到form的提交信息后在哪里显示回应。
表单数据的内容类型
通过enctype属性设定表单数据的内容类型
1. application/x-www-form-urlencoded
在发送前编码所有字符(默认)使用到的编码方式:
1)控件的名称和值都被转义,空白字符使用【+】替换,保留的字符一般都是用 来实现特定的目的,例如(: / ? ; @ = & 等)。非数字和字母的字符使用%HH(这里 HH表示两个十六进制数字,代表该字符的ASCII码)进行转换,
2)控件的"名称/值"对按照它们在文档数据流中出现的顺序列出来。“名称”“值"使 用”="分割,两个"名称/值"之间使用&隔开。
2. multipart/form-data
不对字符编码。在使用包含【文件上传控件】的表单时,必须使用该值。数据分 成多个部分,每个部分代表一个结构良好的控件,作为文档数据流的一部分,每一 个部分都按照它们在文档数据流中出现的顺序依次发送到服务器端,并且,每一部 分的边界不会出现在数据中。每一部分有一个content-desposition标题头,它的值的 格式是: Content-Disposition:form-data;name=“myControl”
3. text/plain
空格转换为 “+” 加号,但不对特殊字符编码。
input表单组件
input组件用于接受用户的数据,属性:
type 用于设定组件类型:
text 单行文本框
password 密码框
checkbox 复选框 必须使用value属性来描述组件所提交的值,使用checked属性默认选中。一个单选按钮组中所有的组件都应该具有相同的name值,这样每次只能选中按钮组中的某一个按钮
submit 提交按钮
reset 重置按钮
file 文件按钮,用于选中文件系统中某个文件
hidden 隐藏 组件不显示在页面中,但值会被提交
image 图像按钮 必须用src 加载图片,用a/t申明替换文本
button 普通按钮
fieldset组件用于在一个web表单中对多个控件和标签进行分组
disabled 禁用fildset 元素会影响fieldset的子元素
name fieldset元素的名称
fieldset的标题由标签提供
input组件用于接收用户的数据,属性如下:
name 用于设定组件类型
value 用于设定初始化,可选。
checked 单选框 默认选中
disabled 表示禁用组件 禁用组件值不能被提交
size 当前控制的初始宽度,像素为单位。
控件类型text,password,宽度是整数值,表示字符数目。默认20
maxlength 指定可以输入的字符最大值。适用于控件类型text,password
botton表单组件
type 指定控件类型
button,submit,reset
name 按钮名称
value 按钮关联值,与name一同被提交
select 用于表示下拉列表或列表,属性如下:
multiple 指定控件类型
表示是否允许多选,如果select元素不包含属性size和属性multiple,表单类型为菜单,如果使用了属性size和属性multiple中任意一个,则表单类型为列表框
size 显示的行数
当要表示一个可以滚动的列表时,size表示同时展示的行数。默认为0,非列表显示
disabled 禁用
name 指定组件名字 数据被提交
option 表示选项,包含在,中
disabled
value
selected
optgroup表单组件 用于表示包含option的选项组,包含在中
disabled
label 表示选项组名称
textarea用于表示多行文本框,没有value属性,值包含在标签内
rows 行数
cols 列数
warp 是否自动换行
off不自动
hard 硬回车 换行元素一同被传到服务器
soft 软回车 换行元素不会被传到服务器