博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读书笔记:《HTML5开发手册》Web表单
阅读量:4881 次
发布时间:2019-06-11

本文共 2525 字,大约阅读时间需要 8 分钟。

这是补充HTML5基础知识的第五篇内容,其他为:

在之前的笔记中记录了HTML5标签元素的语义以及新定义,本周开始进入Web表单部分的学习,该章节已经读过一遍,很多表单验证的工作都可以通过HTML5完成!现在整理笔记,再次进入Web表单的神奇地域。

因该书出版较早,很多东西已经更改,我会在文中进行更正。

一、表单验证

无论是什么站点,只要存在表单元素,基本就少不了表单验证。在HTML4中,表单验证一般交由JavaScript来完成,到了HTML5,提供了多种表单验证方式。一般最常用的便是required属性。有了该属性,如果表单元素为空,则不能进入提交。

二、HTML4输入类型

在HTML5时代,HTML4的表单元素依然发挥着最为重要的力量,我们用到的大多数表单还是HTML4时的元素。

三、HTML5新输入类型

1、建立联系人表单

联系人信息

上面我们使用了三个新的input类型收集用户信息,分别是emailtelurl。分别表示邮件、电话和网址。

浏览器默认不对上述表单进行验证,必须加上required参数。

1、input type="email"

告诉浏览器,该输入域的内容为邮件格式。因各个浏览器的验证方式不同,给出的提示也不尽相同,比如上述相同的表单,在chrom v55上以及firefox上的提示分别如下:

email类型表单只会验证邮件格式是否为aa@bb的格式,并不会判断该邮件地址是否存在。

这样方便测试没有对表单设置样式,后面会有专门介绍。

2、input type="tel"

tel类型是一个普通的文本输入域,尽管现实中电话多为数字,但tel输入域能够接受任意字符(电话号码有时也包含非数字字符,比如+)。

3、input type="url"

在博客评论中常常看到输入网址的表单。在HTML5中,提交网址使用url类型表单更优雅。

与email相同,该输入域只会校验输入的格式,不会确认有无该网址。

多数情况下,URL的形式类似于http://baidu.com,但也有baidu.com的形式存在,此外,还有其他多种形式:

由于这些URL的存在,现在表单会将aa:bb形式的输入视为URL,验证通过。大多数浏览器都有自己的URL形式,Firefox有about:config地址。所以,任何带有:的URL都可通过验证。

2、搜索表单

上述中,type="search"并没有特殊作用,其依然是一个普通的文本输入域。仅仅帮浏览器理解,这是搜索输入域。

3、日期、时间选择

传统web表单中,大多通过jquery插件来完成日期选择功能,在HTML5中,提供了一系列的日期时间表单,可以满足大多数的场景需求。

HTML5提供了如下type类型:

  • date
  • time
  • datetime
  • datetime-local —— 不带有时区信息
  • week
  • month

chrome支持datetime-local,不支持datatime

综合示例:

4、数字选择器

数字选择器

number输入类型只接受数字,否则将返回验证错误。

属性:minmax、 step,指定数字范围和步长。

  • 1、step可以是正数也可以是负数、也可以是小数
  • 2、指定了step后,任何不在范围的数字都会验证失败,比如上述第四个示例。

5、创建滑块

range一般用在表单的“评价部分”,或者是控制视频的音量等。

滑块

number相同,其也有minmaxstep三个属性。

使用output显示值

我们上述的滑块很好用,但有一个缺点,就是没有显示我们当前选中的值。我们可以通过output来显示,该功能只需要一点点的JavaScript。

滑块

现在,拖动上面的滚动条就可以显示当前的数值了。

备注:在之前大多是通过onforminput事件来完成,现在新版本的浏览器都支持form的oninput属性,替代了原来的onforminput

上述可参考:

6、颜色选择器

颜色选择器

7、占位文字:placeholder

前面介绍了一些新的输入类型,实际上,还有一些新属性用来配合新输入类型来提高质量,而这些新属性已经广为使用。

在之前,这种效果只能通过JavaScript来实现。

默认的占位符为灰色与背景色没有足够的对比度,可以使用CSS来解决这个问题:

input::-webkit-input-placeholder { color: red; } input::-moz-placeholder { color: red; }

8、基本验证:required

我们在上面已经多次使用了required属性,提供该属性,如果表单为空则不会提交表单,并提示相应信息。

除了required属性外,你还可以使用aria-required="true",这样将提高表单元素的可用性。

总结

上述体验了HTML5新的表单元素,在实际项目中,使用到这些地方很少,有时候会用到但也想不起来这些元素。所以,今天就完完全全的体验一次,后续项目中就可以完全使用这些新(其实也不新了。。)元素。

转载于:https://www.cnblogs.com/wenJiaQi/p/6286429.html

你可能感兴趣的文章
常用的页面加载慢的解决方案
查看>>
Excel催化剂开源第11波-动态数组函数技术开源及要点讲述
查看>>
php设计模式课程---9、桥接模式是什么
查看>>
thinkphp5.0的验证码安装和相关错误
查看>>
第二百七十六节,MySQL数据库,【显示、创建、选定、删除数据库】,【用户管理、对用户增删改查以及授权】...
查看>>
第一百八十六节,jQuery,验证表单插件,Ajax 表单插件,验证和提交表单
查看>>
HDU 6351 Beautiful Now(DFS)多校题解
查看>>
Centos-bzip2压缩文件-bzip2 bunzip2
查看>>
集合00_Java集合框架
查看>>
百度lbs学习
查看>>
centos里启用snmp的监控
查看>>
第四节:tensorflow图的基本操作
查看>>
【详●析】危险路径
查看>>
二叉树中和为某一值的所有路径
查看>>
Struts2学习第五课 通过和ServletAPI耦合的方式获取WEB资源
查看>>
sns 基于校园的社交网络服务(三版-1期)小结部分问题
查看>>
权限设计之一
查看>>
codeblocks 控制台一闪而过
查看>>
鸽笼原理
查看>>
SolrCloud的官方配置方式
查看>>