HTML5网站建设中的表单重要标记required
发布时间:2014-12-9 8:06:30
为了增强表单的友好度,我们用required来着重标记一些元素,让用户能够立即知道哪些才是重要的字段。幸运的是,我们不需要为每个元素额外增加样式,CSS3新的:required选择器正是为这种情况而设。以下指令为所有required元素增加一个橙色边框:
:required{border-color:orange;border-style:solid;}
输入字段的类型定义并没有什么新意。e-mail地址及电话号码有它们对应的类型,且被定义为required,损坏日期类型为date,可以通过一个日历窗口输入。网页上方的两列布局通过相邻的div元素实现。我们希望用户可以用Tab键从上至下地跳转到下个输入字段,而并非如HTML逻辑中所建议的那样,从左至右填写。我们可以通过tabindex属性来实现这…点,
宁波网站建设认为这意味着在一个输人字段中按下Tab键会将光标移至拥有次级tabindex值的字段中。
Yourname
Youre-mailaddress
Telephonenumber
cinputtabindex=2type=telname=telrequiredx/label>
Faxnumber
现在我们进人到有趣的多行文本域的代码部分了,HTML5在这一类型上并没有作出许多改动。每个多行文本域上方都显示着一个小的图示,用来提醒你还能输人多少字数。你很可能已经意识到了它是通过新元素meter实现的。
meter元素的最大值为,也是该多行文本域中title属性所提示的最大值。若用户在区域中输人的字数大于最大值,meter元素将显示红色,提醒用户输人的文字太长了。鉴于我们其实并没有为多行文本域设置字数限制,浏览器仍会提交所有文字,因此与其说这是一个要求,不如说这是一个建议。用于即时更新meter元素的JavaScript函数是updateTAMeters(),它作用于所有多行文本域。functionupdateTAMeters(){vartextfs=document.getElementsByTagName(wtextareaw);for(vari=0;i
}
遍历的好处是我们现在可以添加任意数量的多行文本域元素,只要它们有一个meter元素,就能实现自动更新。为了实现这一点,我们需要用到一个DOM技巧:编码表中的粗体编码用到了DOM的nextSibling功能,用于获取下一个元素。让我们回顾一下文本字段中的HTML代码及状态条,以便更清楚地了解这一点-------------textarea元素被嵌套在labe丨元素中,label元素后面紧跟了一个meter元素。为了从textarea元素获取meter元素,我们使用了文本字段的labels属性。这样可以获取一个节点数组,而我们只对第一个元素感兴趣(index为0),因为下一个元素(thenextSibling)就是meter元素。
本文由乐华网络编辑,转载请注明出处
宁波网站建设www.leseo.net