在使用Dreamweaver做页面form的时候,默认情况下Dreamweaver都会生成一个<label>标签把元素包装一下,但是有事由于包装不好也会出现一些问题,例如我现在遇到的问题:
在IE7中没有任何问题,但是在firefox 2中点学科下拉时,每次松开鼠标左键后焦点就回到出版社上面,这样导致选择学科时必须一直按着鼠标左键。而相对而言,选择教材时却没有发现这个问题.
分析页面:
<form id="form2" name="form2" method="post" action=""> <label> 教材出版社 <select name="publisherID" id="publisherID" onchange="submit()"> <option value="1" selected="selected">人民教育出版社</option> <option value="4">北师大出版社</option> </select> 学科<select name="knowledgeID" id="knowledgeID" onchange="submit()"> <option value="15" selected="selected">语文</option> <option value="19">数学</option><option value="20">英语</option> </select> </label> 教材 <select name="schoolbookID" id="schoolbookID" onchange="submit()"> <option value="8" selected="selected">三年级上册</option><option value="9">三年级下册</option> </select></form> |
原来在代码中,出版社和学科段被同一个<label>封装,估计firefox在处理时把整个<label>作为一个整体的焦点了,所以导致在这个焦点内点一个可获得焦点的控件得到焦点。
结论:在使用时,尽量不要使用<label>标签,起码到现在为止我还没有发现这个标签有什么好处,另外,这个<label>也不在xhtml 1.1中,长远打算也应该废除。