• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5实战与剖析之表单那些事儿

HTML5实战与剖析之表单那些事儿

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,实战与剖析,表单等相关知识,匿名希望在学习及工作中可以帮助到您
  HTML5针对表单方面也做了一些完善,新添加了一些验证数据的功能,新添加了一些标签属性。有了这些验证功能,就可以不用JavaScript进行验证,哪怕是JavaScript被禁用了也可以毫无压力的验证表单了。开发人员不用JavaScript,浏览器会根据标记中的规则执行验证,然后显示适当的错误信息。这些人性化的功能在支持HTML5的浏览器中才能有效,支持的浏览器有Opera 10+、Safari 5+、Chrome和Firefox 4+。

  HTML5新添加的表单功能有:其他输入类型、输入模式、数值范围、必填字段、禁用验证和检测有效性。下面我们将对这几个功能进行详细展开介绍。

1、其他输入类型

  说到输入类型,大家很快的就会想到input标签。只有input标签才可以规定不同的类型。HTML5恰恰就是在input中的type属性添加了一些新的属性值。这些新的属性值不仅可以反映数据类型的信息,还可以提供一些默认的验证功能。其中,”email”和”url”是两个得到支持最多的类型,各浏览器也为它们增加了定制的验证机制。新添加的类型如下

  email : 电子邮箱文本框,跟普通的没什么区别,当输入不是邮箱的时候,验证通不过。移动端的键盘会有变化

  tel : 电话号码

  url : 网页的URL

  search : 搜索引擎。chrome下输入文字后,会多出一个关闭的X

  range : 特定范围内的数值选择器,min、max、step( 步数 )

  number : 只能包含数字的输入框

  color : 颜色选择器

  datetime : 显示完整日期

  datetime-local : 显示完整日期,不含时区

  time : 显示时间,不含时区

  date : 显示日期

  week : 显示周

  month : 显示月

小例子HTML代码

<form action="http://www.baidu.com">
    <input type="email" />
    <input type="tel" />
    <input type="url" />
    <input type="search"/>
    <input type="range" min="0" max="10" step="2" />
    <input type="number"/>
    <input type="color"/>
    <input type="date"/>
    <input type="datetime"/>
    <input type="datetime-local"/>
    <input type="time"/>
    <input type="month"/>
    <input type="week"/>
    <!-- placeholder是让密码输入框拥有默认提示 -->
    <input type="password" placeholder="请输入密码"/>
    <input type="submit"/>
</form>

2、输入模式

  HTML5不仅新添加了一些新的输入类型,还添加了新的属性——patten属性。Patten属性的值是一个正则表达式,是用于匹配文本框中的值。在写正则的时候要注意,开头和结尾不用加^和$符号(假定已经有了)。这两个符号表示输入的值必须是从头到尾与模式匹配。小例子如下

HTML代码

<form action="#">
    <input type="text" name="user" pattern="\d{1,9}"/>
    <!-- 点击之后 会本页面提交-->
    <input type="submit"/>
</form>

Chrome预览效果

HTML5实战与剖析之表单那些事儿

3、数值范围

  除了”email”和”url”,HTML5还定义了另外几个输入元素。这几个元素都要求填写某种基于数字的值。但是浏览器对这些新添加的值兼容性并不是很好。所以对这些数值类型的输入元素,可以指定min属性(最小的可能值)、max属性(最大的可能值)和step属性(从min到max的两个刻度之间的差值)。小例子如下

HTML代码

<input type="range" min="0" max="10" step="2" id="range" />

JavaScript代码

var oInput=document.getElementById("range");
oInput.stepUp() //每次加1
oInput.stepUp(5) //每次加5
oInput.stepDown() //每次减1
oInput.stepDown(10) //每次减10

4、必填字段

  在表单字段中指定required属性,即可提示用户这是为必填项不能为空。这个属性适用于input标签,textarea标签,select标签(Opera 12+支持)。在JavaScript中通过对于的required属性,可以检测表单是否为必填项。

  对于空着的必填字段,不同浏览器的处理方式不同。Opera 11和Firefox 4会阻止表单提交病在相应字段下面弹出帮助框,Chrome(9之前)和Safari(5之前)则什么都不做也不阻止表单提交。小例子如下

HTML代码

<input type="text" id="text" required/>

JavaScript代码

//检验是否支持必填属性
//支持的为true ,不支持的为false
var is = "required" in document.createElement("input");

5、禁用验证

  通过在form标签中添加novalidate属性,可以让表单不自行验证。JavaScript中可以使用novalidate获取,若存在则是true,反之则是false。如果提交按钮有多个,为了指定点击某一个提交按钮不必验证表单,可以在相应的按钮上添加formnovalidate属性。也可用JavaScript添加禁用验证的属性。小例子如下

HTML代码

<form action="http://blog.csdn.net/lee_magnum">
	<input type="text" id="text" required/>
    <input type="submit" value="跳过验证,直接提交" formnovalidate/>
</form>
<form action="http://blog.csdn.net/lee_magnum" novalidate>
	<input type="text" id="text" required/>
    <input type="submit" value="直接提交"/>
</form>

6、检测有效性,及新添属性和方法

  在JavaScript中使用checkValidity()方法可以检测表单中的某个字段是否有效。所有表单字段都有这个方法,如果字段的值是有效的,这份方法会返回true,否则则是false。与checkValidity()方法相比,validity属性可以告诉你很多东西。

  valueMissing : 输入值为空时

  typeMismatch : 控件值与预期类型不匹配

  patternMismatch : 输入值不满足pattern正则

  tooLong : 超过maxLength最大限制

  rangeUnderflow : 验证的range最小值

  rangeOverflow:验证的range最大值

  stepMismatch: 验证range 的当前值 是否符合min、max及step的规则

  customError: 不符合自定义验证,是否设置setCustomValidity(); 自定义验证

  placeholder : 输入框提示信息

  autocomplete : 是否保存用户输入值。默认为on,关闭提示选择off

  autofocus : 指定表单获取输入焦点

  list和datalist : 为输入框构造一个选择列表。list值为datalist标签的id

  Formaction : 在submit里定义提交地址

小例子JavaScript代码

if(input.validity && !input.validity.valid){
	if(input.validity.valueMissing){
		alert("不能为空")
	}else if(input.validity.typeMismatch){
		alert("控件值与预期类型不匹配");
	}
}

  HTML5实战与剖析之表单那些事儿就为大家介绍到这里,有了表单自行验证,JavaScript的工序又会变得少之又少,对开发人员来说真是件没事儿。更多相关内容请关注微课江湖()!

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2017-08-06关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
  • 2018-12-03关于特效性能,canvas、css3、jquery那个更适合手机端?
  • 2018-12-03为什么有些网页一开始不显示内容,等不耐烦了关掉的时候却显示了内容一闪而过?
  • 2018-12-03详细介绍HTML5的article和section的区别
  • 2018-12-03HTML5 解析规则分析_html5教程技巧
  • 2017-08-06html5 touch事件实现页面上下滑动效果【附代码】
  • 2018-12-03详解html5 postMessage解决跨域通信的问题
  • 2017-08-06HTML5中实现拖放效果无须借助javascript
  • 2018-12-03HTML5 Placeholder属性的详情介绍
  • 2018-12-03详解HTML5地理定位与第三方工具百度地图的应用

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 小强的HTML5移动开发之路(42)——HTML4与HTML5文档结构比较
    • 老前端劝新手不要学HTML5是什么心态?
    • pushstate、popstate操作url的方法
    • HTML5新增的8类INPUT输入类型介绍
    • 使用css如何制作时间ICON方法实践_html5教程技巧
    • H5的FileReader分布读取文件应该如何使用以及其方法简介
    • 详解HTML5 window.postMessage与跨域
    • 如何解决微信通过H5页面直接打开本地app
    • HTML5 画布canvas使用方法_html5教程技巧
    • 借助HTML5 Canvas来绘制三角形和矩形等多边形的方法_html5教程技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有