label标签介绍
label标签为input元素定义标注(标记),它不会向用户呈现任何特殊效果,和span标签类似。但label标签和span标签最大的区别就是它为鼠标用户改进了可用性,可以关联特定的表单控件。
label标签和特定表单控件关联之后,如果用户在 label 元素内点击文本,就会触发关联的表单控件。就是说,当用户选择该label标签时,浏览器就会自动将焦点转到和label标签相关的表单控件上。
主要使用场景
label标签常用于与checkbox或radio关联,以实现点击文字也能选中/取消checkbox或radio。如下图,点击文字和点击前面的单选框效果相同,即加大了控件的可点击区域较大,因为点击标签或控件都将激活控件,这对于复选框和单选框特别有用。
label标签和特定表单元素关联方式
label标签的关联方式主要有两种,显示关联和隐式关联:
显式关联是通过label标签的for属性,显式与另一个表单控件关联。需要注意的是,for属性的值必须是与label标签在同一文档中的可标记表单元素的id,注意是id而不是name。如:
效果图:
隐式关联是直接将表单控件放到label标签内,这种情况下,label标签只能包含一个表单元素,包含多个只对第一个有效。如下:
<label>点击我可以使文本框获得焦点
<input type='text' name='theinput' id='theinput'>
</label>
效果图如下,点击文字便能是文本框获得焦点:
显示关联和隐式关联的优缺点:
显式关联优点:
可以减少标签嵌套层数
label标签和表单可以在不同的位置
显示关联缺点:
控件需要定义id属性
label标签和表单控件不利于作为一个整体来控制
隐式关联优点:
控件无需定义id
标签和控件方便作为一个整体控制
隐式关联缺点:
增加了标签嵌套层数
不能将标签和关联控件放到不同的位置
以上是个人对两种方式的看法,使用时可按需要选择显示或隐式。
label标签的浏览器支持及可关联的表单元素
所有主流浏览器都支持label标签。Safari 2 或更早的版本不支持label标签。
能使用显示关联的表单元素有:
input type="text" 文本框,点击标签时关联的文本框获得焦点。
input type="checkbox" 复选框,点击标签时选中或取消选中复选框。
input type="radio" 单选框,点击标签时选中单选框。
input type="file" 文件上传,点击标签时打开文件选择对话框。
input type="password" 密码框,点击标签时密码框获得焦点。
textarea 文本域,点击标签时文本域获得焦点。
select 下拉框,点击标签时,下拉框获得焦点,不过并不展开下拉框选项。
label标签的form属性
form 属性指定label标签元素所属的表单。如下,虽然label标签在myform表单外,但仍属于myform表单。如下:
<form action="http://songguoliang.com/test.html" id="myform">
<input type="radio" name="sex" id="male" value="male">
<label for="female">女</label>
<input type="submit" value="提交">
</form>
<label for="male" form="myform">男</label>
效果图如下,点击”男”同样可以选中第一个单选框
注:
该form属性已于2016年4月28日从HTML规范中删除。但是,脚本仍然可以访问只读HTMLLabelElement.form属性它返回标签的关联控件是成员的形式,或者null如果标签未与控件相关联或控件不是表单的一部分。
需要准备的材料分别有:电脑、浏览器、html编辑器。
1、首先,打开html编辑器,新建html文件,例如:index.html,编写问题基础代码。
2、在index.html中的<input>标签前面,输入html代码:<span style="color:red">* </span>。
3、浏览器运行index.html页面,此时表格前面表示必填项的星号标记显示了出来。
通俗的讲 form标签是用来进行表单提交用的form标签里面的常见属性如下
action: 表单提交的地址, 肯定是要提交给某个服务器的,action的地址就是要提交的服务器的地址
method:以何种方式提交,常见的为get和post. 区别在于一个是明文(在url中显示),一个是暗文
form标签是和服务器交互用的, 以用户注册为例
用户在浏览器中的注册页面添加信息后,点击提交,此时是将这些信息提交至某个服务器
服务器根据提交的信息将注册信息保存. 这个过程就需要使用form标签了
form中action属性应该是服务器注册模块的地址
form标签下应该有input,textarea,select等表单标签以及<input type=" submit"标签
当点击submit按钮时,浏览器会自动将表单信息封装提交至action中的地址
所谓的提交就是访问action中地址并携带着form表单中input,textarea,select的信息