form表单的作用
用于搜集用户输入不同类型信息的一个html标签
是一个包含表单元素的区域(输入框input 文本框 单选 多选 下拉列表),在这区域内,表单元素的值都可以form表单都可以进行收集
表单
form标签是表单的外壳,主要有四个属性
1、action 表单提交地址
2、method 提交表单方法
3、target 在何处打开 Action
4、 enctype
- application·/x-www-form-urllencoded 在发送前编码所有字符(默认)
- text/plain 空格转化为加号 但不对特殊字符编码
- multipart/form-data: 使用包含文件上传空间的表单时,必须使用该值
常见的表单元素
**select : **元素定义下拉列表。必须包含name属性,用于记录提交数据的名称
下拉列表元素由<option>标签定义。列表通常会把首个选项显示为被选选项。可通过添加 selected 属性来定义预定义选项。列表值由value属性定义。
**textarea: **元素定义多行输入字段(文本域)。必须包含name属性,用于记录提交数据的名称。行内元素。
**label: **元素用来提示<input>、<select>、<textarea>等输入元素表头,可用for属性与属入元素id相关联,帮助输入元素聚焦鼠标输入。行内元素。
常见的input
input标签更具自生type属性不同,功能有所不同
- text:可输入普通文本
- checkbox: 复选框
- file: 可以输入字段 和 浏览按钮 可以上传文件
- radio: 单选框
- hidden: 隐藏的输入字段
- **password: ** 字符被星号隐藏
- **submit: **表单数据提交按钮 把表单数据发送到服务器。
- reset: 生成重置表单按钮 可以重置表单里面数据
post 和 get 方式的区别
传递方式不同
- get 是在url 以 k = v 的形式给后台发送数据
- post则是隐蔽的方式 链接看不到所要传递的数据
安全性比较 - get 是在url显示传递数据 有缓存 可以存入书签 这样容易暴露信息
- post 隐式 传递数据 不可存入标签 没有缓存 不会改变url地址 更安全
传递数据大小不同 - get url有字节数限制 所以get请求有字数限制
- post 不依赖url 理论上 大小不受限制 但还是有原因的
在input里,name 有什么作用? radio怎么分组 placeholder有什么作用 type=hidden隐藏域有什么作用? 举例说明
- 只有设置了 name 属性的表单元素才能在提交表单时传递它们的值
- radio 标签属性name相同既可以分为一组
- placeholder 可以给input给出提示语 当在表单输入值时 提示语不显示
- 后台需要前台返回的数据 但是前台又不能显示出来
举例: 假如编辑客户信息的时候 显示的 而且编辑的都是可见 的 ,但是用户都有一个确定唯一 id 但是id不能显示 但是这个id要提交给后台 后台才知道修改的是哪个客户。这是使用 text=hidden再好不过了