[TOC]
>[info]HTML 表单用于搜集不同类型的用户输入,是Web浏览器和Web服务器进行通信的最常用的手段,即通 过表单,浏览器不仅能从Web服务器中获得信息,而且还能向Web 服务器反馈信息。HTML为此提供了表单(Form)元素来设计和实现这种交互界面。
## 常用表单元素
>[info] 表单形成的交互界面上有许多元素,负责收集用户输入 的各种信息,这些元素一般称为控件。
* 单行/多行文本框
* 复选框
* 单选按钮
* 文件域
* 隐藏域
* 下拉菜单
* 提交按钮
* 重置按钮
~~~
<form method="post" action="">
<!--单行文本-->
<input type="text" />
<!--密码-->
<input type="password" />
<!--单选框-->
<input type="radio" />
<!--多选框-->
<input type="checkbox" />
<!--隐藏域-->
<input type="hidden" />
<!--提交按钮-->
<input type="submit" />
<!--文件域-->
<input type="file" />
<!--重置按钮-->
<input type="reset" />
<!--按钮-->
<input type="button"/>
<!--文本区域-->
<textarea></textarea>
<!--下拉框-->
<select>
<option>下拉1</option>
<option>下拉2</option>
</select>
</form>
~~~
**效果如下:**
<form method="post" action="">
<!--单行文本-->
<input type="text" />
<!--密码-->
<input type="password" />
<!--单选框-->
<input type="radio" />
<!--多选框-->
<input type="checkbox" />
<!--隐藏域-->
<input type="hidden" />
<!--提交按钮-->
<input type="submit" />
<!--文件域-->
<input type="file" />
<!--重置按钮-->
<input type="reset" />
<!--按钮-->
<input type="button" value="按钮">
<!--文本区域-->
<textarea></textarea>
<!--下拉框-->
<select>
<option>下拉1</option>
<option>下拉2</option>
</select>
</form>
* * * * *
### `input`标签共有的一些属性
* type 控件的类型
* value 指定默认值
* name 用于服务器获取数据
### `radio`单选和`checkbox`多选
* checked 默认的选中项
* value 该选项被选中后提交到服务器的值
* name 用于服务器获取数据
### ` select`元素(下拉列表)
>[info] HTML是通过`<select>`和`<option>`标记来定义输入列表框的。列表框标记`<select>`是成对出现标记,首标记`<select>`和尾标记`</select>` 之间的内容就是一个列表框的内容。和`<option>`标记用于定义列表框中的各个选项
~~~
<select name="" id="" size="" multiple="">
<option value="">下拉1</option>
<option value="">下拉2</option>
<option value="" selected="">...</option>
<option value="">下拉n</option>
</select>
~~~
**例子解析**
* `name`用于服务器获取数据
* `sizesize`属性是可选的,用于定义列表框的长度。size属性的 参数值是数字,表示显示在列表框中的选项数目。当size属性的参数 值小于列表框中的列表项数目时,浏览器会为该列表框添加滚动条, 用户可以使用滚动条来查看所有的选项。size属性的缺省值为1。
*` multiple`表示可以多选,如果不设置本属性,那么只能单选;按 Ctrl可以多选. 用法:multiple="multiple"
* `value`当该项被选中并提交后,web浏览器 传送给服务器的数据。缺省时,浏览器将传送选项的内容
* `selected`用来指定选项的初始状态,表示该选项在初始时 是被选中的。
## label标签
>[info] 用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上
~~~
<p>请点击文本标记之一,就可以触发相关控件:</p>
<form>
<label for="male">Male</label>
<input type="radio" name="sex" id="male" />
<br />
<label for="female">Female</label>
<input type="radio" name="sex" id="female" />
</form>
~~~
效果如下:
<p>请点击文本标记之一,就可以触发相关控件:</p>
<form>
<label for="male">Male</label>
<input type="radio" name="sex" id="male" />
<br />
<label for="female">Female</label>
<input type="radio" name="sex" id="female" />
</form>
**例子解析**
* `for`规定` label` 绑定到哪个表单元素。
* `id`需要绑定的元素加个标识。
>[danger]**作业:**把所有常用的表单都练习几遍,理清不同类型表单的作用。
- 序言
- 第一章:准备工作
- 写在学习之前的话
- web应用开发结构
- 开发工具/环境
- 第二章:展现层面(HTML/CSS)
- HTML简介
- HTML基础
- HTML编码
- HTML链接
- HTML图像
- HTML列表
- HTML表单
- HTML表格(分水岭)
- HTML 实体
- HTML框架
- CSS层叠样式表
- CSS选择器
- CSS文本/字体
- CSS继承和叠加
- CSS框模型
- CSS浮动(分水岭)
- CSS定位
- CSS背景
- CSS图标字体
- CSS补充
- 开发技巧
- 第三章:展现层面(Javascript)
- JS简介
- JS实现
- JS输出交互
- JS变量
- JS数据类型
- JS运算符
- JS流程控制(分水岭)
- JS函数
- JS数组
- JS对象(分水岭)
- JS数组对象
- JS字符串对象
- JS数学对象
- JS日期对象
- JS BOM对象(分水岭)
- JS DOM对象
- JS事件对象
- JS元素对象
- JS DOM节点
- 第四章:展现层面(Jquery)
- JQ简介
- JQ使用
- JQ选择器
- JQ筛选
- JQ属性
- JQ-CSS
- JQ事件
- JQ文档处理
- JQ效果
- JQ-ajax
- 第五章:逻辑/业务层面(PHP)
- PHP简介
- PHP变量
- PHP数据类型
- PHP常量
- PHP运算符
- PHP流程控制
- PHP函数(分水岭)
- PHP日期
- PHP数学
- PHP数组
- PHP字符串
- PHP正则表达式(分水岭)
- PHP目录操作
- PHP文件
- PHP上传/下载
- PHP面向对象(分水岭)
- PHP图像处理
- PHP会话控制
- Ajax异步处理
- PHPMysql扩展
- PHPMysqli扩展
- PHPPdo扩展
- PHP接口
- PHP命名空间
- 第六章:逻辑/业务层面(框架设计)
- 第七章:存储层面(mysql)
- Mysql基础
- Mysql Sql简介
- Mysql数据库
- Mysql数据类型
- Mysql数据表
- Mysql操作记录
- Mysql查询
- Mysql修改表结构
- Mysql日期与时间
- Mysql分组统计
- Mysql多表查询
- Mysql安全
- Mysql存储引擎
- Mysql事务
- Mysql视图
- Mysql触发器
- Mysql存储过程
- Mysql存储函数
- Mysql优化
- 第八章:服务器(Linux)
- Linux介绍与安装
- Shell
- 目录与文件操作
- VIM编辑器使用
- 帐号管理
- SUDO
- 权限控制
- 压缩与打包
- 软件安装
- 计划任务
- 进程管理
- 宝塔Linux面板