您现在的位置是:网站首页> 编程资料编程资料
html5自带表单验证体验优化及提示气泡修改功能HTML5表单验证特性(知识点小结)HTML5 表单验证失败的提示语问题使用HTML5和CSS3表单验证功能HTML5实现表单自动验证功能实例代码HTML5利用约束验证API来检查表单的输入数据的代码实例html5的input的required使用中遇到的问题及解决方法html5中valid、invalid、required的定义wordpress添加Html5的表单验证required方法小结
2023-10-16
209人已围观
简介 很多朋友进行表单验证的时候,都是自己用jquery或者js手工验证,或者用一下jquery插件进行验证。感觉html5自带验证不是很好用,下面小编给大家分享使用纯html5编写的一个表单验证功能,需要的朋友参考下吧
html5自带表单验证
很多朋友进行表单验证的时候,都是自己用jquery或者js手工验证,或者用一下jquery插件进行验证。因为大家觉得html5自带验证不是很好!其实,现在html5自带表单验证,目前已经蛮强大了。我们来看下我用纯html5写的一个表单验证吧!体验一下!
大家觉得这个效果怎么样呢?
这个效果的精华是加了三个图片!
.myform select:required, .myform input:required, .myform textarea:required { background: #fff url(http://sandbox.runjs.cn/uploads/rs/216/0y89gzo2/star.jpg) no-repeat 99% center; } .myform select:required:valid, .myform input:required:valid, .myform textarea:required:valid { background: #fff url(http://sandbox.runjs.cn/uploads/rs/216/0y89gzo2/right.png) no-repeat 99% center; box-shadow: 0 0 5px #5cd053; border-color: #28921f; } .myform select:focus:invalid, .myform input:focus:invalid, .myform textarea:focus:invalid { background: #fff url(http://sandbox.runjs.cn/uploads/rs/216/0y89gzo2/error.png) no-repeat 99% center; box-shadow: 0 0 5px #d45252; border-color: #b03535 }然后做了一个监听事件:
oninvalid="this.setCustomValidity('请输入正确的号码');" oninput="setCustomValidity('')"验证密码是否一致的时候,用了一个js
function checkPassword() { var pass1 = document.getElementById("Password"); var pass2 = document.getElementById("Repassword"); if (pass1.value != pass2.value) pass2.setCustomValidity("两次输入的密码不匹配"); else pass2.setCustomValidity(""); }这样就完成了效果!
假如你觉得,这个自带的气泡也很难看!如下图:
我想换掉!
在谷歌29之前的版本,我们是可以用伪元素来修改气泡!
::-webkit-validation-bubble { min-width:152px; margin-top: -1px;} ::-webkit-validation-bubble-arrow { border: 1px solid #F7CE39; background: #FFFBC7; /* position:relative; */ top: 4px; left: 0px; } ::-webkit-validation-bubble-arrow-clipper { text-align: center; } ::-webkit-validation-bubble-heading { color: #444; } ::-webkit-validation-bubble-message { border: 1px solid #F7CE39; background: #FFFBC7; border-radius: 3px; } ::-webkit-validation-bubble-text-block { font-size: 12px; }但是呢,这个方法后面被废弃掉了!你会发现修改气泡没有反应!那么怎么修改气泡样式呢?这里就稍微麻烦一些了!思路大概是我们先阻止默认气泡,然后创建新的气泡!
阻止默认气泡
创建新的UI
代码大致如下:
function replaceValidationUI( form ) { //阻止气泡 form.addEventListener( "invalid", function( event ) { event.preventDefault(); }, true ); // 支持Safari, iOS Safari, Android 浏览器 // 默认提交表格 form.addEventListener( "submit", function( event ) { if ( !this.checkValidity() ) { event.preventDefault(); } }); // 新增错误提示的容器 form.insertAdjacentHTML( "afterbegin", "" ); var submitButton = form.querySelector( "button:not([type=button]), input[type=submit]" ); submitButton.addEventListener( "click", function( event ) { var invalidFields = form.querySelectorAll( ":invalid" ), listHtml = "", errorMessages = form.querySelector( ".error-messages" ), label; for ( var i = 0; i < invalidFields.length; i++ ) { label = form.querySelector( "label[for=" + invalidFields[ i ].id + "]" ); listHtml += "总结
以上所述是小编给大家介绍的html5自带表单验证体验优化及提示气泡修改功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
相关内容
- HTML5 FormData 方法介绍以及实现文件上传示例HTML5 文件上传下载的实例代码HTML5拖拉上传文件的简单实例HTML5应用之文件上传HTML5+WebSocket实现多文件同时上传的实例移动端HTML5实现文件上传功能【附代码】移动端HTML5实现文件上传html5实现多文件的上传示例代码HTML5拖拽文件到浏览器并实现文件上传下载功能代码HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
- HTML5 本地存储实现购物车功能利用Node实现HTML5离线存储的方法H5离线存储Manifest原理及使用HTML5中的网络存储实现方式使用HTML5 IndexDB存储图像和文件的示例HTML5离线应用与客户端存储的实现在HTML5 localStorage中存储对象的示例代码
- html5仿支付宝密码框的实现代码HTML5仿微信支付页面代码详解Html5微信支付爬坑之路基于HTML5+tracking.js实现刷脸支付功能
- 前端面试必备之html5的新特性css3实现动画的三种方式如何使用css3实现一个类在线直播的队列动画的示例代码html5新特性与用法大全使用html5新特性轻松监听任何App自带返回键的示例HTML5新特性之type=file文件上传功能HTML5新特性之语义化标签CSS3动画和HTML5新特性详解
- html5使用html2canvas实现浏览器截图的示例HTML5中外部浏览器唤起微信分享功能的代码html5的pushstate以及监听浏览器返回事件的实现HTML5中外部浏览器唤起微信分享处理HTML5新标签的浏览器兼容版问题如何查看浏览器对html5的支持情况
- 简单聊聊H5的pushState与replaceState的用法HTML5 history新特性pushState、replaceState及两者的区别
- 天天飞车飞车夺宝技巧详解_手机游戏_游戏攻略_
- 全民英雄 月之女祭司详细介绍_手机游戏_游戏攻略_
- 百万亚瑟王新年福袋月神的祝福获得方法_奖励奖品说明_手机游戏_游戏攻略_
- 百万亚瑟王2014春节新年月兔活动说明_感谢型妮妙数据一览_手机游戏_游戏攻略_
