`
八贤王
  • 浏览: 40303 次
社区版块
存档分类
最新评论

HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注

阅读更多
在HTML5增强的元素中,最值得关注的就是表单元素。在HTML5中,表单已经做了重大的修整,一些以前需要通过JavaScript编码实现的功能现在无需编码就可轻松实现。在开始讨论之前,需要注意一点:
在HTML5中,表单控件是可以处于其所属的一个或多个表单的外部的。所以,表单控件像fieldset,label,input这些都加入了form属性,用于标识表单控件所属的表单。
在HTML5中:
1. form元素自身增加了两个新的属性:autocomplete和novalidate。autocomplete属性用于启用“下拉建议列表”功能,novalidate属性用于关闭表单验证功能,这在测试时会很有用。
2. fieldset元素增加了三个新属性:disable、name和form。disable属性用于禁用fieldset,name属性用于设置fieldset的名称,form属性的值是fieldset所属的一个或多个表单的ID,这个前面也说了,当fieldset被置于表单的外部时,你必须设置该fieldset标签的form属性,这样fieldset就可以正确地与一个或多个表单关联起来。
3. label元素除for属性外,只增加了form属性。这里值得一提的是for属性,我以前还真没注意过。for属性用于指定label附属的表单控件,这样点击这个label时会让附属的表单控件获得焦点,比如:

复制代码代码如下:

<form action="demo_form.asp" id="form1">
<label for="name">Click Me</label><input id="name" type="text"></input>
<input type="submit" value="Submit" />
</form>

点击"Click Me",则后面的输入框会获得焦点。
4. input元素引入了一些新的类型与属性,增强了表单的可用性。这些新的输入类型,用于对数据进行组织和归类,非常有用,遗憾的是并没有哪一个浏览器能很好的支持所有的这些类型。
除了原来button,text,submit,checkbox,radio,select,password的类型,HTML5加入了下列新的input类型:
颜色:color
各种日期:date, datetime, datetime-local, month, week, time
电子邮件:email
数字:number
范围:range
搜索:search
电话:tel
URL类型:url
可以运行下面的例子来查看不同浏览器的支持情况:

复制代码代码如下:

<form action="demo_form.asp">
Select your favorite color: <input type="color" name="favcolor" />
Birthday: <input type="date" name="bday" />
Birthday (date and time): <input type="datetime" name="bdaytime" />
Birthday (date and time): <input type="datetime-local" name="bdaytime" />
Birthday (month and year): <input type="month" name="bdaymonth" />
Select a time: <input type="time" name="usr_time" />
Select a week: <input type="week" name="week_year" />
Quantity (between 1 and 5): <input type="number" name="quantity" min="1" max="5" />
Quantity(between 1 and 10): <input type="range" name="points" min="1" max="10" />
Search Google: <input type="search" name="googlesearch" />
Telephone: <input type="tel" name="usrtel" />
Add your homepage: <input type="url" name="homepage" />
E-mail: <input type="email" name="usremail" />
<input src="submitbutton.png" type="submit" />
</form>

下面这些是新增加的input属性:
autocomplete:自动显示以前输入过的信息,取值"on"或者"off"。适用于text, search, url, tel, email, password, datepickers, range, and color类型。
autofocus:页面加载完成后自动获取到焦点。
form:指定input所属的form,可以是多个。
formaction:指定form提交后处理这个input的页面(URL)或文件。  
formenctype:指定form提交后数据如何编码。
formmethod:指定发送form数据的HTTP方法,会覆盖相应form的HTTP方法。
formnovalidate:提交前不检查数据的有效性。
formtarget:指定在那个地方显示form提交后response的内容。
height, width:输入框长和宽,只适用于image类型。 
max,min:输入值的最大值和最小值。适用于有意义的number,range, 日期类型。  
multiple:是否允许输入多个值,适用于email和file类型。
pattern:指定验证输入值的正则表达式,适用于text,search,url,tel,email,password。
placeholder:输入前的提示信息,适用于text,search,url,tel,email,password。
required:是否是必填项,如果不填必填项,则表单不能提交,适用于text, search, url, tel, email, password, date pickers, number, checkbox, radio, 和file类型。
step:输入自动增长时的步长值,适用于number, range, date, datetime, datetime-local, month, time和week类型。
list:输入项的候选列表,需要和datalist元素配合使用,list属性可用在这些类型上:text、search、url、tel、email、date、number、range和color,目测在FireFox上有效。看一个小例子:

复制代码代码如下:

<fieldset>
<legend> Favorites </legend>
<p>
<label>
<input type="text" name="favorites" list="options">
<datalist id="options">
<option value="A">
<option value="B">
<option value="C">
</datalist>
</label>
</p>
</fieldset>

下面的例子尝试使用了各个属性,可以运行在不同的浏览器下查看实际效果:

复制代码代码如下:

<form action="demo_form.asp">
E-mail: <input type="email" name="email" autocomplete="on" />
Image: <input type="image" src="img_submit.gif" alt="Submit" width="48" height="48"/>
Enter a date before 1980-01-01:<input type="date" name="bday" max="1979-12-31">
Enter a date after 2000-01-01:<input type="date" name="bday" min="2000-01-02">
Quantity (between 1 and 5):<input type="number" name="quantity" min="1" max="5" />
Select images: <input type="file" name="img" multiple="multiple" />
Country code: <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code" />
First Name: <input type="text" name="fname" placeholder="First name" />
Username: <input type="text" name="usrname" required="required" />
Number: <input type="number" name="points" step="3" />

<input type="submit" />
<input type="submit" formaction="demo_admin.asp" value="Submit as admin" />
<input type="submit" formenctype="multipart/form-data" value="Submit as Multipart/form-data" />
<input type="submit" formmethod="post" formaction="demo_post.asp" value="Submit using POST" />
<input type="submit" formnovalidate="formnovalidate" value="Submit without validation" />
<input type="submit" formtarget="_blank" value="Submit to a new window" />
</form>
<form action="demo_form.asp" id="form1">
First name: <input type="text" name="fname" />
<input type="submit" value="Submit" />
</form>
Last name: <input type="text" name="lname" form="form1" />

建议:虽然并不是所有的浏览器都支持全部的类型,但是还是鼓励大家使用这些新类型,因为即使浏览器不支持,只不过是会退化成简单的text输入框而已。
分享到:
评论

相关推荐

    HTML5元素周期表

    总结起来,HTML5元素周期表是学习和掌握HTML5的一个直观工具,它将复杂的HTML元素体系以一种清晰、有序的方式呈现出来,方便开发者查找和学习。通过这个表格,我们可以深入了解每个元素的功能、用途,以及它们如何...

    HTML5新增属性与表单元素

    HTML5在表单方面也有很大的改进和增强,新增了一些表单元素,提供了更好的表单验证机制,增强了用户体验。 #### 1.5 datalist元素 `datalist`元素与`input`元素配合使用,可以为输入字段提供一个下拉列表。这个列表...

    dreamweaver的html5拼写提示扩展包

    安装这个HTML5拼写提示扩展包后,开发者在Dreamweaver中编写HTML5代码时,只需开始键入元素或属性名的首字母,软件就会自动列出匹配的选项,点击或使用键盘快捷键选择即可。这种智能代码补全功能可以减少编码错误,...

    泛微OA开发技巧作业流程表单HTML扩展开发推荐设计器实现设置表单元素的长度.docx

    泛微OA开发技巧作业流程表单HTML扩展开发推荐设计器实现设置表单元素的长度 泛微OA开发技巧作业流程表单HTML扩展开发推荐设计器实现设置表单元素的长度是泛微OA开发中的一个重要技术,旨在提高开发效率和代码质量。...

    HTML5选择器和伪元素----学习分享

    伪元素不是实际的HTML元素,而是用于在元素内部创建额外的视觉效果。以下是一些关键的伪元素: 1. `::before`和`::after`:这两个伪元素可以在元素的内容前面或后面插入内容。它们通常结合`content`属性使用,可以...

    Adobe Dreamweaver CS5 HTML5 扩展包

    Adobe Dreamweaver CS5 HTML5 扩展包是一款由Adobe公司为旗下著名的网页设计与开发工具Dreamweaver CS5推出的增强性更新。这个扩展包的主要目的是为了使Dreamweaver CS5用户能够更好地利用HTML5这一新兴的网页标准...

    HTML元素参考手册CHM.zip

    8. **表单元素**:`&lt;form&gt;`、`&lt;input&gt;`、`&lt;select&gt;`、`&lt;textarea&gt;`、`&lt;button&gt;`等,用于创建用户交互的表单,收集用户数据。 9. **多媒体元素**:`&lt;audio&gt;`和`&lt;video&gt;`元素支持音频和视频播放,`&lt;source&gt;`元素指定...

    Html5PPT_html5_HTML5PPT_

    3. **HTML5表单**(第3章):HTML5在表单处理上有了显著改进,新增了多种输入类型,如email、url、date等,增强了表单验证功能,同时引入了新的表单元素如和,提升了用户交互体验。 4. **HTML5画布**(第4章):...

    泛微OA【开发技巧】流程表单HTML扩展开发(推荐:设计器实现设置表单元素的长度).docx

    【开发技巧】流程表单HTML扩展开发主要关注的是在泛微OA系统中如何通过HTML技术增强和定制流程表单的功能,以满足用户对于表单设计的个性化需求。本文档主要介绍了如何利用设计器来设置表单元素的长度,以及实现其他...

    泛微OA开发技巧流程表单HTML扩展开发设计器实现设置表单元素的长度.pdf

    在本文档中,我们探讨了如何在泛微OA(Office Automation)系统中利用HTML扩展开发设计器来实现设置流程表单元素的长度。这个技巧对于定制化表单布局和满足特定用户需求至关重要。以下是详细步骤和相关知识点: 1. ...

    所有关于HTML自定义元素

    在实际项目中,自定义元素可以用来创建如表单控件、通知提示、导航栏等常见UI元素,提高代码的可维护性和可扩展性。通过良好的封装,自定义元素能够帮助开发者遵循单一职责原则,使代码更加清晰、易于测试和调试。 ...

    HTML5课程设计PPT,上机实验报告、HTML5源码

    HTML5是现代网页开发的核心标准,它极大地扩展了HTML4的功能,提供了许多新的元素、属性和API,使得网页开发者能够创建更加丰富、交互性更强的网页应用。本压缩包文件包含了一份HTML5课程设计的PPT,以及相关的上机...

    HTML5手册,自学HTML5

    HTML5是现代网页开发的核心标准,它极大地扩展了HTML4的能力,提供了许多新的元素、属性和API,使得开发者能够创建更强大、更具交互性的网页应用。这个“HTML5手册”是一份全面的学习资源,旨在帮助你掌握HTML5的...

    前台脚本的元素自动下拉扩展

    标题中的“前台脚本的元素自动下拉扩展”是指在前端网页开发中,通过脚本技术实现的一种交互功能。这种功能使得用户在鼠标悬停在某个元素上时,如果该元素的内容显示不全,它会自动扩展以完整显示其内容,而不会影响...

    HTML5代码大全

    HTML5是现代网页开发的核心标准,它极大地扩展了HTML4的功能,引入了许多新的元素、属性和API,旨在提升用户体验和开发者的工作效率。本资源“HTML5代码大全”是一份全面的指南,涵盖了HTML5的各个方面,包括结构...

    html5手机版问卷

    在这个问卷模板中,`&lt;form&gt;`元素通常用于创建问卷表单,包含各种输入控件如`&lt;input&gt;`(文本框、选择框、复选框等)和`&lt;textarea&gt;`(多行文本输入)。`&lt;label&gt;`元素与`&lt;input&gt;`关联,提供更友好的用户体验,用户可以...

    HTML5响应式客户留言信息表单页面模板.zip

    HTML5是超文本标记语言(HTML)的第五次重大修订,引入了许多新的元素和功能,以增强网页的结构化和交互性。例如,`&lt;header&gt;`、`&lt;nav&gt;`、`&lt;article&gt;`等语义化标签,提高了页面内容的可读性和可访问性。此外,HTML5还...

    HTML5+CSS3网页设计模板(30例)zip

    5. **表单改进**:HTML5增强了表单元素,添加了新的输入类型(如date、email、range等),并引入了placeholder属性和required属性,提升用户体验。 CSS3则是层叠样式表的最新标准,它扩展了样式控制的范围,带来了...

Global site tag (gtag.js) - Google Analytics