关于label标签与表单控件的显式联系和隐式联系

标签: label 标签 控件 | 发表时间:2013-01-12 11:01 | 作者:
出处:http://www.iteye.com

在html中,<label> 标签为 input 元素定义标签(我称之为输入提示)。
label 元素不会向用户呈现任何特殊效果。它为鼠标用户改进了可用性。如果在 label 元素内点击文本,就会触发此input控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。

<label> 标签的 for 属性应当与相关元素的 id 属性相同。

比如:

<p>请点击文本标记之一,就可以触发相关控件:</p>


<form>
<label for="male">男</label>
<input type="radio" name="gender" id="male" />
<br />
<label for="female">女</label>
<input type="radio" name="gender" id="female" />
</form>

在具体使用时,如果 input 类型为 text ,一般将输入提示写在输入控件的左边;而 input 类型为 radio 或 checkbox 时,一般在输入控件的右边(也有写在左边的,如上面的例子)。

for 属性规定 label 与哪个表单元素绑定。

隐式和显式的联系

标记通常以下面两种方式中的一种来和表单控件相联系:将表单控件作为标记标签的内容,这样的就是隐式形式,或者为 <label> 标签下的 for 属性命名一个目标表单 id,这样就是显式形式。
例如,在 XHTML 中:
显式的联系:
<label for="SSN">Social Security Number:</label>
<input type="text" name="SocSecNum" id="SSN" />

隐式的联系:
<label>Date of Birth: <input type="text" name="DofB" /></label>
第一个标记是以显式的形式将文本 "Social Security Number:" 和表单的社保号的文本输入控件 ("SocSecNum") 联系起来,它的 for 属性的值和控件的 id 一样,都是 SSN。
第二个标记 ("Date of Birth:") 不需要 for 属性,它的相关控件也不需要 id 属性,它们是通过在 <label> 标签中放入 <input> 标签来隐式的连接起来的。

如果是通过 js 或 jsp 来动态生成 <label>和<input>,最好还是采用隐式的联系,更好实现,因为不必分配和生成 id,要做到同一个网页中id不重复还是有点费劲的。

实际使用的例子:使用 FreeMarker 和 JavaScript 综合生成代码

                        /* 以前采用显式的联系,生成id费劲,还要避免与别的id重复
                        $cblist.append("<li><input type='checkbox' id='form${form.formId}_${field.sysName}_"
                            +i
                            +"' name='${field.sysName}' value='"
                            +value
                            +"'" + (found ? " checked='checked'" : "") + "/> "
                            +"<label class='none' for='form${form.formId}_${field.sysName}_"
                            +i
                            +"'>"
                            +json.data[i].text+"</label>&nbsp; </li>");
                        */

                        // 改用隐式的联系,代码简洁
                        $cblist.append("<li><label class='none'><input type='checkbox' name='${field.sysName}' value='" +value +"'"
                            + (found ? " checked='checked'" : "")
                            + "/> " +json.data[i].text+"</label>&nbsp; </li>");

 

 

  源文: http://www.vktone.com/articles/about_html_label_tag.html

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [label 标签 控件] 推荐:

关于label标签与表单控件的显式联系和隐式联系

- - ITeye博客
在html中,

说说HTML5中label标签的可访问性问题

- BeerBubble - 张鑫旭-鑫空间-鑫生活
本文地址:http://www.zhangxinxu.com/wordpress/?p=1809. 一般稍微有些经验的页面制作人员都知道label标签可以优雅地扩大表单控件元素的点击区域,例如,单纯的单选框. 点击区域就鼻屎那么大的地方,经常会点不到位置. 因此,label标签的使用对于提高页面的可用性可访问性是很有帮助的.

Polaroid 推出 Z340 数码拍立得相机,Lady Gaga 的 Grey Label 还要等多久啊!

- Tin - Engadget 中国版
虽然它并没有当今指标流行歌手代言的光芒,但这部 Polaroid Z340 数位拍立得相机,也与尚未上市的 Grey Label 相机有着相似的有趣特点. 定价 US$300(约 1,900 元人民币)的它,可拍摄 1,400 万画素的静态照片并可储存在 SD 卡中,还可以用 ZINK 墨水直接把数字影像打印出来(每次充电可印 75 张),缅怀那个使用底片拍立得的青春岁月,且还是喜欢实体照片的感觉吗.

jstl标签经典

- - CSDN博客推荐文章
库 :Core(核心库). 描述 : 标签是一个最常用的标签,用于在   JSP   中显示数据.  它的作用是用来替代通过 JSP 内   置对象 out 或者 <%=%> 标签来输出对象的值. 用于指定在使用  标记输出诸如“ < ”、“ > ”、“ ’ ”、“” ”和“ & ”之类的字符(在  HTML  和  XML  中具有特殊意义)时是否应该进行转义.

struts2的标签tag

- - CSDN博客编程语言推荐文章
二、 常用的Struts 2.0的标志(Tag)介绍. 在上一篇文章《 为Struts 2.0做好准备》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节. 如果,您看完《 为Struts 2.0做好准备》后,还有什么不明白,或者没法运行文中例子,请联系我.

Struts标签详解

- - CSDN博客推荐文章
数据标签主要用于提供各种数据访问相关的功能,比如显示一个Action里的属性,以及生成的国际化输出等. Struts2数据标签主要分为以下几种:. property:用于生成输出某个值 值包:valueStack、StackContext和ActionContext中的值. bean:该标签用于创建一个JavaBean实例,如果指定了id属性,则可以将创建的Javabean实例存放入Stack Context中.

HTML head 头标签

- - IT技术博客大学习
HTML head 头部分的标签、元素有很多,涉及到浏览器对网页的渲染,SEO 等等,而各个浏览器内核以及各个国内浏览器厂商都有些自己的标签元素,这就造成了很多差异性. 移动互联网时代,head 头部结构,移动端的 meta 元素,显得更为重要. 了解每个标签的意义,写出满足自己需求的 head 头标签,是本文的目的.

Struts2常用标签总结

- - CSDN博客推荐文章
1.Struts2的作用 . Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性. Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求. Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用.

Struts2 标签库讲解

- - CSDN博客架构设计推荐文章
Struts2 标签库讲解. 转自:http://blog.163.com/hzd_love/blog/static/131999881201082111852520/. 要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:. struts2的标签共分为五大类:. 1)条件标签:用于执行基本的条件流转.

标签?ID?还是CLASS?

- - 前端观察
想谈一下几个基本的HTML问题,都是围绕着应该怎样使用HTML. 多用有语义的标签,少用div和span,避免使用没有class的div和span. 设想一下HTML的世界最初只有div和span这两个标签,其实网页依然可以写得出来. 更多标签的出现,其实是为了替代利用率高但不好书写的 
 和  来的.