一.html表单
HTML 表单用于搜集不同类型的用户输入
1.什么是Form?
Form表单主要用于用户与Web应用程序进行数据的交互,它允许用户将数据发给Web应用程序,网页也可以拦截数据的发送以便自己使用。form通常由一到多个表单控件组成,这些表单控件是单行/多行文本框,下拉菜单,按钮,复选框,单选按钮,使用表单控件时一般要配合label标签,用于描述其目的。
2.Form标签可用属性如下
(1)action属性: 用于处理表单信息的应用程序的地址。
(2)method属性: 浏览器用来提交表单的HTTP方法,常用的get/post。
1.get 对应于Http协议的get方法,表单数据被附加在uri上,使用"?"分隔
何时使用get:能够使用 get(默认方法):
如果表单提交是被动的(比如搜索引擎查询),并且没有敏感信息。
当您使用 get 时,表单数据在页面地址栏中是可见的:
注:GET 最适合少量数据的提交。浏览器会设定容量限制。
2.post 对应于Http协议的post方法,表单数据包含在HTTP协议的请求报文的体部。
应该使用 post:
如果表单正在更新数据,或者包含敏感信息(例如密码)。
post 的安全性更好,因为在页面地址栏中被提交的数据是不可见的。
(3)name属性: 设定表单的名称
如果要正确地被提交,每个输入字段必须设置一个 name 属性。
(4)target属性: 表示浏览器接收到form的提交信息后在哪里显示回应。
_self 在当前选项卡打开响应内容
_blank 在新选项卡打开响应内容
3.表单数据的内容类型
通过enctype属性设定表单数据的内容类型
(1)application/x-www-form-urlencoded : 在发送前编码所有字符(默认)使用到的编码方式:
1)控件的名称和值都被转义,空白字符使用【+】替换,保留的字符一般都是用来实现特定的目的,例如(: / ? ; @ = & 等)。非数字和字母的字符使用%HH(这里HH表示两个十六进制数字,代表该字符的ASCII码)进行转换
2)控件的“名称/值”对按照它们在文档数据流中出现的顺序列出来。“名称”“值”使用“=”分割,两个“名称/值”之间使用&隔开。(查询字符串)
(2)multipart/form-data : 不对字符编码。
在使用包含【文件上传控件】的表单时,必须使用该值。数据分成多个部分,每个部分代表一个结构良好的控件,作为文档数据流的一部分,每一个部分都按照它们在文档数据流中出现的顺序依次发送到服务器端,并且,每一部分的边界不会出现在数据中。每一部分有一个content-desposition标题头,它的值的格式是: Content-Disposition:form-data;name="myControl"
空格转换为 "+" 加号,但不对特殊字符编码
4.Input表单控件:Input控件用于接受来自用户的数据
(1)type属性,用于设定控件类型,取值如下: