之前学习的标签更多的是向用户展示信息,假如需要实现登录注册,这时就需要有一个用户输入内容的标签。
表单在 Web 网页中用来给访问者填写信息,从而能采集客户端信息,使网页具有交互的功能。一般是将表单设计在一个html
文档中,当用户填写完信息后做提交(submit)操作,于是表单的内容就从客户端的浏览器传送到服务器上,经过服务器上的 ASP
或 PHP
等处理程序处理后,再将用户所需信息传送回客户端的浏览器上,这样网页就具有了交互性。
1. 表单组成
在 HTML 中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域 3 个部分构成
表单控件:
包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。
提示信息:
一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。
表单域:
相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的 url
地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。
2. 表单示例
3. <form>
标签
定义表单,用户输入的信息都要包含在form
标签中,点击提交后,<form>
和</form>
里面包含的数据将被提交到服务器。
<form action="url" method="GET|POST" name="myform" ></form>
- name:表单提交时的名称
- action:提交到的地址
- method:提交方式,默认为get
4. 表单控件
每个表单元素都可以定义一个name
属性,指定控件的名称。当提交信息时,会作为区分用户所填数据的标识发送给后台。
单行文本输入框
<input type="text" name="user" value="请输入用户名" />
// value属性: 输入框的值
密码输入框
<input type="password" name="pwd" value="" />
// value属性: 输入的密码
单选按钮
<input type="radio" name="sex" value="0" checked/>
<input type="radio" name="sex" value="1"/>
// 约定: 0代表男,1代表女
// 性别选择 name属性必须相同
// value属性 选中单选框的值
// checked 单选框是否被选中
复选框
<input type="checkbox" name="like" checked value="0"/>
<input type="checkbox" name="like" value="1"/>
<input type="checkbox" name="like" value="2"/>
// 约定: 0代表篮球,1代表足球,2代表排球
// value属性: 选中的复选框的值
// checked 是否被选中
文件上传
<input type="file" name="file"/>
下拉框
<select name="city">
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3" selected>广州</option>
</select>
// value属性用来给<option>指定的那一个选项赋值
// selected 是否被选中
多行文本输入框
<textarea name="text" id="" cols="30" rows="10"></textarea>
// rows:文字区块的高度
// cols:文字区块的宽度
提交按钮
<input type="submit" value="提交"/>
普通按钮
<input type="button"/>
重置按钮
<input type="reset" value="重置"/>
对于以上按钮, value:指定按钮上显示的文字
图片按钮
<input type="image" src="URL"/>
<label>
标签
label是input的描述,它本身不会有特殊效果,但它和input标签配合使用可以提升用户的使用体验,让用户点击label
标签时,就像点击了这个输入框。
通过label的for指向按钮的id来绑定,for和id属性的值要相同
<form>
<label for="male">Male</label>
<input type="radio" name="sex" id="male" />
</form>
// <label>标签一般和radio、checkbox类型一起使用。
<fieldset>
元素集
fieldset
元素可将表单内的相关元素分组,通常和legend
标签一起用,legend
标签定义了fieldset
的提示信息。
<fieldset>
<legend>健康信息</legend>
身高:<input type="text" />
体重:<input type="text" />
</fieldset>
5. 表单补充属性
disabled
禁用
readonly
只读
checked
表单控件被选中
selected
下拉框选项被选中
placeholder
占位符提供可描述输入字段预期值的提示信息
autofocus
元素自动获得焦点
multiple
支持在一个域中输入多个值,逗号隔开,一般配合邮箱和URL使用
required
必填项
minlength
允许输入的最小字符数
maxlength
允许输入的最大字符数
autocomplete
on/off,用于为输入框添加一组建议的输入项
tabindex
控制 input 标签按 tab 键获取到焦点的顺序