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

html5的setCustomValidity的详细介绍

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

本文主要包含html5,setCustomValidity等相关知识,匿名希望在学习及工作中可以帮助到您

1. 默认提示

html5丰富了表单验证,例如:

<form>
    <input type=text required />
    <input type=submit></form>

如果text中没有输入内容,点击提交按钮,会提示“请填写此字段。”

事件顺序如下:
(1)submit按钮的click事件,若取消默认事件,则终止
(2)html5表单验证和提示,若表单验证不通过,则提示第一个不合法输入,并终止
(3)form表单的submit事件,若取消默认事件,则终止

注意:
用js触发form的submit事件,会直接进入第(3)步,不会进行html5表单验证。
所以,要想出现html5的验证提示,必须经过submit按钮。

2. 自定义提示

使用setCustomValidity设置了自定义提示后,
validity.customError就会变成true,则checkValidity总是会返回false。
而且,表单验证是根据checkValidity来决定是否提示的。

所以,应该使用validity的以下属性来设置和取消自定义提示:

badInput,customError,patternMismatch,rangeOverflow,rangeUnderflow,stepMismatch,tooLong,
typeMismatch,valid,valueMissing

注意:
以上属性值是只读的,手动修改是无效的。

其中,取消自定义提示的方式如下:

setCustomValidity('') setCustomValidity(null) setCustomValidity(undefined)

例子:

<form>
    <input id=text1 type=text required />
    <input id=submit1 type=submit></form><script>
    document.querySelector('#submit1').addEventListener('click',function(){        
    var $text1= document.querySelector('#text1');

        $text1.validity.valueMissing
            ?$text1.setCustomValidity('The value can\'t be empty.')
            : $text1.setCustomValidity('');
    },false);</script>

或者:

$text1.setCustomValidity((function(){    
if($text1.validity.valueMissing){       
 return 'The value can\'t be empty.';
    }    //不写return或者写“return;”表示“return undefined;”}()));

3. 验证成功后ajax提交

考虑到事件顺序,form的submit事件中只有在表单验证通过后才会触发。
所以,可以在form的submit事件中,通过取消默认行为,用ajax提交数据。

例子:

document.querySelector('#form1').addEventListener('submit',function(e){    //ajax

    e.preventDefault();
},false);

以上就是 html5的setCustomValidity的详细介绍的详细内容,更多请关注微课江湖其它相关文章!

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

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

相关文章

  • 2018-12-03html5怎么实现图片转圈的动画效果
  • 2018-12-03iOS webView怎样加载HTMLString
  • 2018-12-03HTML5移动端手机网站开发流程_html5教程技巧
  • 2018-12-03现阶段用 HTML5 重构网站,力度怎样合适?
  • 2018-12-03如何配置H5的滚动条样式的代码
  • 2018-12-03分享一个简单的HTML5 视频嵌入实例代码
  • 2018-12-03秀野堂html5入门视频教程的资源推荐
  • 2017-08-06HTML5的语法变化介绍
  • 2018-12-03html5中浏览器是否能播放指定的音频/视频类型的方法canPlayType()
  • 2018-12-03html5离线应用application cache的代码详解

文章分类

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

最近更新的内容

    • HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注
    • 探索HTML5本地存储功能运用技巧
    • h5中文件上传下载实例
    • html5实现完美兼容各大浏览器的播放器
    • 关于15个最佳的响应式HTML5网站模板图文详解
    • 详解html5 postMessage解决跨域通信的问题
    • HTML5原生支持Base64编码解码
    • HTML5 canvas实现可拖拽时钟的示例代码分享
    • [HTML5游戏开发]挑战横版ACT(一):开天地黄忠初登场
    • html5中常用交互元素实现的代码实例

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

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