欢迎来到天天文库
浏览记录
ID:27193428
大小:241.50 KB
页数:9页
时间:2018-12-01
《HTML5用户指南》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、HTML5用户指南第三章表单3.1我们爱HTML,现在它反过来爱我们了HTML5使得开发表单变得很快。有一些不错的内容,例如,HTML5添加了两种HTTP类型的表单动作(update和delete),可以与当前的get和post配合使用。更有意思的是,此前需要在一个表单元素之中的很多元素(,,,,,,加上,,,,和这样的新元素),现在这些元素可以位于页
2、面的任何地方,并且通过指向其表单所有者的id的一个form属性与一个表单关联起来。考虑这个例子:...由表单foo所有,因为它包含于其中,并且没有表单属性覆盖所有关系位于表单之外,但它仍然属于该表单,因为它的表单属性指向了其表单所有者的id。当你想要这些元素在视觉上(和结构上)出现在父表单之外时,会给样式化带来更多的灵活性。但是,更大的功能是新的HTML5的表单类型以
3、及它们所带来的内置验证。终于,对于这些基本的数据类型,你根本不再需要JavaScript验证,新的输入类型优雅降级,但是在到达金色的未来(当每个人都有HTML5浏览器的时候,或者老板告诉你,用旧的浏览器的用户将必须忍受仅在服务器端的表单检查)之前,仍将需要你的JavaScript。3.2新的输入类型新的表单字段是这个规范成为HTML5的起源,在这里我们看到了向后兼容扩展原理的应用。扩展主要是input元素的type属性的新值。由于所有浏览器默认为,不理解新的扩展的遗留浏览器将会退而求其次地使用默认值
4、,并且允许用户向普通文本字段输入数据。注意:规范对于浏览器如何把新的输入类型显示给用户或如何报告错误等没有做出要求。不同的浏览器和不同的设备将会显示不同的用户界面。例如,Safari桌面和Safari/iPhone上显示的一个选择框的差异如图3.1所示。图3.1选择框的差异同一个选择框显示于Safari/Windows(左边)和Safari/iPhone中。大多数的屏幕截图来自于Opera,因为在编写本书时(2010年5月)它具有最完整的实现,但是对于在其他浏览器中实现的内容,我们将会使用该浏览器作为替代。3.2.1email输入
5、类型标记告诉浏览器,如果用户的输入看上去不像是一个有效的E-mail地址,它就不应该允许该表单提交,也就是说,它不会检查E-mail地址是否存在,而只是检查它是否是有效的格式。和所有的输入类型一样,用户可能提交带有空字段的表单,除非该字段是必填的。浏览器报告错误的方式也没有定义。Opera10.50中(实验性)的实现如图3.2所示。图3.2Opera10.50中一条自动生成的错误消息multiple属性也是允许的,这意味着,该字段的值可能是逗号隔开的有效E-mail地址的一个列表。当然,这不是要求
6、用户手动输入一个逗号隔开的列表,浏览器可能使用复选框从用户的邮件客户端或手机通讯录中很好地取出用户的联络人的列表。位于http://mozillalabs.com/blog/2010/03/contacts-in-the-browser的实验性的FirefoxContacts插件,从各种资源收集联系人信息,当用户遇到一个时,它通过收集的信息提供地址。它还将通过W3C草案ContactsAPI(http://www.w3.org/2009/dap/)将这些联络信息暴露给Web站点脚本。3.2.2UR
7、L输入类型让浏览器确保输入字段是正确的URL。浏览器可能为用户提供帮助,例如,Opera显示来自用户的浏览器历史的,最近访问过的URL的一个列表,并且自动地在URL的“www”开始处之前添加“http://”(一个URL不一定是一个WebURL,例如它可能是一个基于Web的HTML编辑器,其中用户可能想要使用tel:伪协议)。3.2.3date输入类型date输入类型是我所喜欢的一个。我们都看到过这样的Web页面,要求用户输入一次航班的日期、音乐会门票的日期等。由于日期的输入多种多样(是DDMM-YY
8、YY格式、MM-DD-YYYY格式,还是DD-MMM-YY格式),格式各个站点的开发者所编写的JavaScript日期选取器挂件,早外观、易用性和可访问性上存在很大的差异。解决了这一问题。Opera上弹出的一个日历小
此文档下载收益归作者所有