简单form标准化实例——语义结构
程序员文章站
2023-11-14 10:19:52
1、使用fieldset和legend标签 在form中,我们经常会对form中的信息进行分组,比如注册form,我们可能会将注册信息分组成基本信息(一般为必填),详细信息...
1、使用fieldset和legend标签
在form中,我们经常会对form中的信息进行分组,比如注册form,我们可能会将注册信息分组成基本信息(一般为必填),详细信息(一般为可选),那我们如何更好的来实现呢?我们可考虑在form中加入下面两个标签:
fieldset:对表单进行分组,一个表单可以有多个fieldset
legend:说明每组的内容描述
[ctrl+a 全选 注:如需引入外部js需刷新才能执行]
fieldset默认是带边框的,而legend默认一般显示在左上角。但在某些场合或许不愿意让fieldset和legend的默认样式或默认布局影响设计方案中的美观。
解决方法:在css中将fieldset的border设置为0,legend的display设置为none即可。
2、使用label标签
我们对form中的文本标签给定一个label标签,并使用for属性使其与表单组件相关联,效果为单击文本标签,光标显示在相对应的表单组件内。
<form id="demoform" class="democss" action="">
<fieldset>
<legend>basic register</legend>
<p>
<label for="fname">first name:</label>
<input type="text" id="fname" name="fname" value="" />
</p>
...
</fieldset>
<fieldset>
<legend>detailed register</legend>
<p>
<label for="interest">interest:</label>
<input type="text" id="interest" name="interest" value="" />
</p>
...
</fieldset>
...
</form>
除了以上方法,我们还可以用label套嵌整个表单组件和文本标签,如:
<label for="fname">first name:<input type="text" id="fname" name="fname" value="" /></label>
根据规范,文本会自动与邻接的表单组件关联,但遗憾的是——现在主流的浏览器ie6并不支持这个特性。
3、使用accesskey和tabindex属性
网站要兼顾更多情况下的使用,比如没有光标设备(如鼠标)的情况下,要让使用键盘操作也可以完成form的填写,这时候点击对于它们来说,已经没有任何意义。我们这个时候选用label的accesskey(快捷键,ie下为alt+accesskey属性值,ff下为alt+shift+accesskey属性值)和tabindex属性(tab键,tabindex属性值为顺序)添加到表单标签上,如label,input等。
<label for="fname" accesskey="f" tabindex="1" >first name:</label>
<input type="text" id="fname" name="fname" value="" />
4、使用optgroup标签
optgroup标签的作用是在选择列表中定义了一组选项。我们可以选用optgroup标签给select元素的options分类,并使用label属性,属性值会在下拉列表(select)里显示为一个不可选的、缩进标题。注意:optgroup 不支持嵌套。
[ctrl+a 全选 注:如需引入外部js需刷新才能执行]
ie6.0 中存在一个小bug(firefox 中不存在):使用键盘方向键进行选择时,在 ie 中,当选中项由一个optgroup的选项换成另一optgroup 的选项时,不会触发onchange。解决办法是:增加 onkeydown 或 onkeyup 事件协助解决。
5、使用button标签
definition and usage
defines a push button. inside a button element you can put content, like text or images. this is the difference between this element and buttons created with the input element.
定义与用法
定义为一个提交按钮。在button元素内你可以放置内容,像文本(text)或者图片(images)。这是这个元素和input元素按钮的区别。
<button><img src="images/click.gif" alt="click me!" />click me!</button>
button相对于input提供了更多的功能与更丰富的内容。button将按钮文字单独出来,并且可以在button内添加图片,赋予文字和图片更多选择的样式,使生硬的按钮变得更生动。
并且使用button标签将比input按钮来得更有语义化,简单的从字面意思也可以理解。
在form中,我们经常会对form中的信息进行分组,比如注册form,我们可能会将注册信息分组成基本信息(一般为必填),详细信息(一般为可选),那我们如何更好的来实现呢?我们可考虑在form中加入下面两个标签:
复制代码 代码如下:
fieldset:对表单进行分组,一个表单可以有多个fieldset
legend:说明每组的内容描述
[ctrl+a 全选 注:如需引入外部js需刷新才能执行]
fieldset默认是带边框的,而legend默认一般显示在左上角。但在某些场合或许不愿意让fieldset和legend的默认样式或默认布局影响设计方案中的美观。
解决方法:在css中将fieldset的border设置为0,legend的display设置为none即可。
2、使用label标签
我们对form中的文本标签给定一个label标签,并使用for属性使其与表单组件相关联,效果为单击文本标签,光标显示在相对应的表单组件内。
复制代码 代码如下:
<form id="demoform" class="democss" action="">
<fieldset>
<legend>basic register</legend>
<p>
<label for="fname">first name:</label>
<input type="text" id="fname" name="fname" value="" />
</p>
...
</fieldset>
<fieldset>
<legend>detailed register</legend>
<p>
<label for="interest">interest:</label>
<input type="text" id="interest" name="interest" value="" />
</p>
...
</fieldset>
...
</form>
除了以上方法,我们还可以用label套嵌整个表单组件和文本标签,如:
<label for="fname">first name:<input type="text" id="fname" name="fname" value="" /></label>
根据规范,文本会自动与邻接的表单组件关联,但遗憾的是——现在主流的浏览器ie6并不支持这个特性。
3、使用accesskey和tabindex属性
网站要兼顾更多情况下的使用,比如没有光标设备(如鼠标)的情况下,要让使用键盘操作也可以完成form的填写,这时候点击对于它们来说,已经没有任何意义。我们这个时候选用label的accesskey(快捷键,ie下为alt+accesskey属性值,ff下为alt+shift+accesskey属性值)和tabindex属性(tab键,tabindex属性值为顺序)添加到表单标签上,如label,input等。
复制代码 代码如下:
<label for="fname" accesskey="f" tabindex="1" >first name:</label>
<input type="text" id="fname" name="fname" value="" />
4、使用optgroup标签
optgroup标签的作用是在选择列表中定义了一组选项。我们可以选用optgroup标签给select元素的options分类,并使用label属性,属性值会在下拉列表(select)里显示为一个不可选的、缩进标题。注意:optgroup 不支持嵌套。
[ctrl+a 全选 注:如需引入外部js需刷新才能执行]
ie6.0 中存在一个小bug(firefox 中不存在):使用键盘方向键进行选择时,在 ie 中,当选中项由一个optgroup的选项换成另一optgroup 的选项时,不会触发onchange。解决办法是:增加 onkeydown 或 onkeyup 事件协助解决。
5、使用button标签
复制代码 代码如下:
definition and usage
defines a push button. inside a button element you can put content, like text or images. this is the difference between this element and buttons created with the input element.
定义与用法
定义为一个提交按钮。在button元素内你可以放置内容,像文本(text)或者图片(images)。这是这个元素和input元素按钮的区别。
复制代码 代码如下:
<button><img src="images/click.gif" alt="click me!" />click me!</button>
并且使用button标签将比input按钮来得更有语义化,简单的从字面意思也可以理解。
上一篇: select选择事件问题
推荐阅读
-
简单form标准化实例——语义结构
-
Oracle中scott表结构与简单查询实例分析
-
JSP程序运行原理、文档结构及简单输入输出实例分析
-
Bootstrap Tree View简单而优雅的树结构组件实例解析
-
Jquery.Form 异步提交表单的简单实例
-
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
-
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例,优先队列数据结构
-
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
-
JSP程序运行原理、文档结构及简单输入输出实例分析
-
Javascript和Java获取各种form表单信息的简单实例_javascript技巧