使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG (Web Hypertext Application Technology Working Group) 发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。

前言

HTML语言作为如今编程最为广泛的语言,具有易用、快捷、多浏览平台兼容等特点,但是随着时代的进步,HTML的标准却停滞不前,这一次还在不断开发中的HTML5标准的更新可以说给这门标记语言带来了新的生命力。本文将着重讨论HTML5中的Web Forms 2.0, 即表单的部分。

表单是网页中常见的控件(集)。小到网站注册登录,大到一个企业的数据管理系统,都基本上有表单的身影。表单之所以如此重要,主要是因为它担负大量的用户和网页后台数据更新交互的任务。Web开发人员,对于网页表单可以说又爱又恨,爱的是它方便的收集、组织数据的功能,恨的是它的功能很大程度上也就仅此而已。一些在最终网站用户看起来稀松平常的功能,比如说输入类型检查、表单校验、错误提示等等,开发人员无不需要花费大量精力利用JavaScript和DOM编程来满足这些天然所需的功能点,而随着Ajax的流行,出现的一些JavaScript的工具库,比如Dojo, YUI等都提供了方便的JavaScript Widget或者API来减轻开发人员的负担。

HTML5的表单新特性

HTML5 Web Forms 2.0是对目前Web表单的全面提升,它在保持了简便易用的特性的同时,增加了许多内置的控件或者控件属性来满足用户的需求,并且同时减少了开发人员的编程。在我看来,HTML5 主要在以下几个方面对目前的Web表单做了改进:

新的控件类型

还在为类型检查犯愁吗,还在为那一长串看不太明白的检验输入的正则表达式而苦恼吗,HTML5提供的一系列新的控件将天然的具备类型检查的功能。比如说URL输入框,Email输入框等。

<input type="url"></input><input type="email"></input>

当然还有非常重要的日期输入框,要知道使用JavaScript和CSS来“手工”制作一个日期输入框还是非常花功夫的,类似Dojo,YUI这样的类库也无不在这个widget上面大做文章。
 

<input type="date"></input>

作为我痛苦记忆的一部分,我经常记得我们开发人员要为一个select下拉别表动态的添加非常多的选项,这些选项大多数都是来自数据库,比如说国家、省市列表等等。这个事情非常繁琐。HTML5将支持data属性,为select控件外联数据源!

<select data="http://domain/getmyoptions"></select>

改进的文件上传控件,你可以使用一个控件上传多个文件,自行规定上传文件的类型(accept),你甚至可以设定每个文件最大的大小(maxlength)。你看出它和一般操作系统提供的文件上传控件的区别了吗,反正我觉得基本一致了。在HTML5应用中,文件上传控件将变得非常强大和易用。

重复(repeat)的模型,HTML5提供一套重复机制来帮助我们构建一些重复输入列表,其中包括一些诸如add、remove、move-up,move-down的按钮类型,通过这一套重复的机制,开发人员可以非常方便的实现我们经常看到的编辑列表,这是一个很常见的模式,我们可以增加一个条目、删除某个条目、或者移动某个条目等等。

内建的表单校验系统,HTML5为不同类型的输入控件各自提供了新的属性,来控制这些控件的输入行为,比如我们常见的必填项required属性,以及为数字类型控件提供的max、min等。 而在你提交表单的时候,一旦校验错误,浏览器将不执行提交操作,而会显示相应的检验错误信息。

<input type="text" required></input><input type="number" min=10  max=100></input>

XML Submission,我们一般常见的是form的编码格式是application/x-www-form-urlencoded。开发人员都很清楚这种格式,数据送到服务器端,可以方便的存取。HTML5将提供一种新的数据格式:XML Submission,即application/x-www-form+xml。简单的举例说,服务器端将直接接收到XML形式的表单数据。
 

<submission>   <field name="name" index="0">Peter</field>   <field name="password" index="0">password</field></submission>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索开发
, html5
, 控件
, 表单
, 类型
, 输入
, html5 上传
, dojo上传文件
, html5上传
, html5文件上传
, html5实现文件上传
, form表单校验
html5多文件上传
静态路由html webform、webform html5、angular开发下一代web、下一代web应用模型、下一代web,以便于您获取更多的相关知识。

时间: 2024-09-09 17:14:59

使用HTML5构建下一代的Web Form的相关文章

如何使用AJAX技术构建优秀的Web应用程序

一. 简介 异步JavaScript+XML(即Ajax),是一种创建交互式web应用程序的Web开发技术.这种程序使用JavaScript和XML从客户端提交服务器请求,且整个过程中仅需要交换少量的数据而不必提交整个web页面.因此,这样的程序将更快和更具响应性,并将成为新一代客户机-服务器系统的重要基础技术之一.你可以在站点http://www.google.com/webhp?complete=1&hl=en处看到一种良好的AJAX实践技术展示.在此页面中,如果你把任何字母输入到文本框内,

如何利用HTML5构建一个基本的Web操作系统

然而目前的 Web 操作系统前端大多基于 Flex.Silverlight.ActiveX 插件等技术开发,存在着对移动设备的支持性差,终端安全性差,开发难度大等缺点. HTML5 是下一代 web 语言的标准,具有兼容性好,安全性高,功能丰富,开发便捷等优点,特别适合如 Web 操作系统一类的富客户端互联网应用的前端开发.本文将展示如何利用 HTML5 提供的多种新技术如:本地数据库.多线程开发.视频支持.离线编程等构建一个基本的 Web 操作系统. 传统的操作系统有着一些难以克服的缺点,如仅

使用HTML5构建Vyclone的社交视频编辑体验

由于开发人员充分发掘了 HTML5 的潜力,对于消费者来说,Web 不仅变得更具吸引力,而且提高了工作效率.在本篇客座博文中,Plain Concepts 的 Anton Molleda 将介绍他在开发 Vcylone 时的切身感受和经验教训,Vcylone 是一种基于 HTML5 和下一代浏览器(如 Internet Explorer 10)中的许多新功能而构建的社交视频编辑体验.Vcyclone 依托于指针事件.多点触控手势.硬件加速的画布和 CSS3 等技术而构建,这使该网站感觉更像是一个

剖析APT攻击 绿盟NGTP构建下一代防御体系

互联网的普及也带来了网络病毒的肆意,传统的网络安全软件可以有效的防范蠕虫病毒.间谍软件.木马.钓鱼等网络攻击威胁.然而,采用未知威胁为手段的APT攻击则是针对数据库.大量数据进行搜集,且所有的APT已知威胁只是对过去的积累和收集,很多新兴威胁没有样本可循,这增加了APT威胁的攻击力,并让我们越发难测,由于APT攻击的存在,企业暴露在未知威胁影响下的时间也越来越多,风险越来越大. 此外,由于云计算和移动互联网的普及,智能终端让任何接入点都可能变成系统漏洞,企业数据中心也变成一个弹性的外围,很多网关

四大观点解析如何构建下一代开放式网络(NGN)

观点1:接入网的光纤化成焦点工业和信息化部科技司副巡视员代晓慧表示,宽带已经成为 众多国家经济 复兴计划的重要组成部分,美.加.英.法.德.日.韩和澳大利亚等国相继宣布了包括扩大宽带接入和支持高速连接在内的经济刺激"一揽子"计划,各国政府也正采取多种措施促进宽带发展.各国的运营商对下一代网络NGN的发展战略也进行了大规模的调整,不再只是关注软交换和IMS,而是更多地考虑通过承载网和接入网层面的技术,来构建未来的网络基础设施.因此,下一代高速接入网.电信级以太网.家庭网络以及各种宽带技术

用ASP.NET建立简单的Web Form

ASP.NET引入了一种新的Web编程方法.对于使用传统编程语言如Visual Basic或C++的人,这种方法是很熟悉的.如果你是一个Web程序员只接触过脚本语言的话,不必着急,这篇文章将使你快速入门.作为程序员,我们再也不必将HTML和代码混在一起,再也不必从上往下一行一行的写代码了.ASP.NET让代码和表现分开,使用了事件驱动的编程模式.在这里,我们将看到ASP.NET中Web Form的基本结构.ASP.NET的页面是事件驱动和面向对象的.就是说,程序员能为事件提供代码,如按钮的点击,

c#-asp的web form中,在后台生成了表,怎样让表在网页上显示

问题描述 asp的web form中,在后台生成了表,怎样让表在网页上显示 自己在后台动态生成了一个表,但是在网页上面显示不出来,不知道为什么,表的动态生成写在Page__load()函数中,页面设计如下: <%@Page Language="C#" AutoEventWireup="true" CodeBehind="Reservationa.aspx.cs" Inherits="HT.Reservationa" Ma

阿里云首席安全科学家吴翰清的思考:弹性安全网络,构建下一代安全的互联网

8月16日,<麻省理工学院科技评论>(MIT Technology Review)杂志揭晓2017年全球青年科技创新人才榜评选结果,阿里巴巴人工智能实验室首席科学家王刚.阿里云首席安全科学家吴翰清脱颖而出,获此殊荣. <阿里科学家王刚.吴翰清同时入选MIT2017年度TR35>一文已经刷爆朋友圈.本文为吴翰清在其公众号"道哥的黑板报"的内容,带着对技术的深入思考,分享给大家. 前些天得知自己入选了MIT的TR35,非常开心.我想这是中国安全技术在国际上被认可的一

web form,mvc,Silverlight对比与优点

前一段时间在silverlight 2出来的时候我们公司就有个家伙用siverlight做了个项目,吹嘘了一下说开发有多快,用户体验有多好,搞得公司里火了一段时间,后来又有项目组也开始用silverlight 开发产品,但很不顺利,效果很差,第一个项目组把项目做成功的原因是这哥们技术真的不错,肯专研,可惜后来离职了,而其他项目组菜鸟居多所以搞得进展很慢.做得也很辛苦.   后来我也研究一下silverlight 2/3/4 ria 1.0,还有最近在看一些asp教程.net mvc相关的技术,也