日期:2013-07-08  浏览次数:21262 次

Dreamweaver8 标签for属性与对应的id之关系

<label>标签的功用是使浏览器用焦点矩形呈如今与表单对象关联的文本,使得用户可通过关联文本的任意位置,而不只是在表单对象上,单击来选择该表单。

在DW8中插入表单元素,会弹出【输入标签辅助功用属性】对话框,使用”for”属性附加标签标记时,会在插入的表单项的两侧边(前侧或后侧)添加一个标签标记“<label>…</label>”

比如,在下面例子中直接单击文本“用户名”就可同样选中表单元素。

运转代码框

[Ctrl+A 全部选择 提示:你可先修正部分代码,再按运转]

次要就是 label 属性 for="cn_bruce" 而 input 属性 id="cn_bruce",此为关联。

但使用DW8进行插入时,默认的 input 的 name 和 id 属性是相反的“textfield n(n=Φ,1,2,……)”

但很显然,在插入完表单对象后,需求重新编辑表单项的“名称”,比如修正“textfield”为“cn_bruce”

则,表单项的name 和 id 一同修正为“cn_bruce”

然而默认的标签label的 for 属性值还是 “textfield”,如果要实现 label 的功用就必须手动修正 for 的值

不过,相反的设置在对 radio 单选框进行设置时,却是能保证 label 的 for 属性值不断与对应的 表单项的 id值吻合

次要缘由就是,当对radio 进行 name 属性值修正时,其对于的id 值是不变的。

为什么不变?

首先,radio 也就是单选框的功用是 多个当中选择一个,那么怎样区别许多的 radio 是一个组里面的,就从这一组中选择某一个。那么HTML标签就是要求,这许多的单选按钮要想是一个组里面的,必需要求其 name 属性值一样,比如下面的三个radio的name值都为“s”,则是一个组的。

运转代码框

[Ctrl+A 全部选择 提示:你可先修正部分代码,再按运转]

那么只需一个name不同,则不属于一个组

OK,不断说明的是 radio 要求 name 值一样,再切到话题

由于上面其他的表单项在改变name属性值时自动改变id值

那么,如果radio也是改变name属性值时自动改变id值,由于radio的name值的一样,所以势必使得id值也一样

但,id属性值能一样么?id就是网页文档中网页元素对象的身份证号,是不建议相反的,所以,radio 的 id值就保持不变

所以,radio 对应的 label 标签的 for属性值 也就与之吻合

故,在Dreamweaver8中创建表单项时,其<label>标签的for属性值不能一直对应其表单项的ID值,为后来的编辑带来些麻烦。

所以,在DW8 中操作label和表单项:

要不就是使得 <label>标签的for属性值随着表单项id 值的变化而变化

要不就是在修正表单项name属性的同时,保持id属性值不变(如radio)