html5的input的required使用中遇到的问题及解决方法


Posted in HTML / CSS onApril 24, 2018

form提交时隐藏input发生的错误

问题描述

在form表单提交的时候,有些input标签被隐藏,表单验证过程中会出现An invalid form control with name='' is not focusable 的错误

虽然我遇到的问题是我的input标签根本没有required属性,但是在该标签隐藏之前,(我的是使用tab栏切换)我输入了错误的格式,再隐藏,这时候他其实是错误的,会被form表单同样去验证,但是由于它被隐藏,浏览器获取不到焦点就会报错。

解决方法

隐藏之前将该input的value值设置为空即可.我的input上面没有使用required属性。

如果input含有display:none和required属性,也会产生该错误

产生原因

Chrome希望专注于需要但仍为空的控件,以便可以弹出消息“请填写此字段”。但是,如果控件在Chrome想要弹出消息的时候隐藏,即在提交表单时,Chrome无法关注该控件,因为它是隐藏的,因此表单不会提交。

解决方法如下

1.隐藏时,将required属性删除

selector.removeAttribute("required")

2.没有使用required的话,或许是由于button按钮,类型未设置造成。设置<button type="button">

3.form表单不验证,即添加novalidate属性。(不是最终解决办法)<form novalidate></form>

4.既然是由于使用了display:none造成,同样的visibility: hidden 也会造成问题,那就不使用。通过可以设置css样式opacity: 0;

5.禁用此表单控件。 disabled 这是因为通常如果你隐藏了表单控件,那是因为你不关心它的价值。所以这个表单控件名称值对在提交表单时不会被发送。

$("body").on("submit", ".myForm", function(evt) {
// Disable things that we don't want to validate.
$(["input:hidden, textarea:hidden, select:hidden"]).attr("disabled", true);
// If HTML5 Validation is available let it run. Otherwise prevent default.
if (this.el.checkValidity && !this.el.checkValidity()) {
    // Re-enable things that we previously disabled.
    $(["input:hidden, textarea:hidden, select:hidden"]).attr("disabled", false);
    return true;
}
evt.preventDefault();
// Re-enable things that we previously disabled.
$(["input:hidden, textarea:hidden, select:hidden"]).attr("disabled", false);
// Whatever other form processing stuff goes here.
});

总结

以上所述是小编给大家介绍的h5的input的required使用中遇到的问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

HTML / CSS 相关文章推荐
CSS3 制作绽放的莲花采用效果叠加实现
Jan 31 HTML / CSS
css3让div随鼠标移动而抖动起来
Feb 10 HTML / CSS
CSS+jQuery+PHP+MySQL实现的在线答题功能
Apr 25 HTML / CSS
CSS3实现大小不一的粒子旋转加载动画
Apr 21 HTML / CSS
CSS3中使用RGBa来调节透明度的教程
May 09 HTML / CSS
css3media响应式布局实例
Jul 08 HTML / CSS
css3实现动画的三种方式
Aug 24 HTML / CSS
input元素的url类型和email类型简介
Jul 11 HTML / CSS
HTML5 Web缓存和运用程序缓存(cookie,session)
Jan 11 HTML / CSS
html5 canvas手势解锁源码分享
Jan 07 HTML / CSS
AmazeUI的下载配置与Helloworld的实现
Aug 19 HTML / CSS
微信小程序纯CSS实现无限弹幕滚动效果
Sep 23 HTML / CSS
HTML5轻松实现全屏视频背景的示例
Apr 23 #HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
Apr 23 #HTML / CSS
HTML5拖拽API经典实例详解
Apr 20 #HTML / CSS
HTML5中的Web Notification桌面右下角通知功能的实现
Apr 19 #HTML / CSS
HTML5实现移动端复制功能
Apr 19 #HTML / CSS
canvas实现漂亮的下雨效果的示例
Apr 18 #HTML / CSS
详解Html5 监听拦截Android返回键方法
Apr 18 #HTML / CSS
You might like
PHP insert语法详解
2008/06/07 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
mouse_on_title.js
2006/08/25 Javascript
Yii-自定义删除确认弹框(zyd)jquery实现代码
2013/03/04 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
小程序实现分类页
2019/07/12 Javascript
js实现查询商品案例
2020/07/22 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
关于打架的检讨书
2014/01/17 职场文书
服务之星获奖感言
2014/01/21 职场文书
产品质量承诺书
2014/03/27 职场文书
建设幸福中国演讲稿
2014/09/11 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
聘任通知书
2015/09/21 职场文书
寒假致家长的一封信
2015/10/10 职场文书
五年级作文之想象作文
2019/10/30 职场文书
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server
Go timer如何调度
2021/06/09 Golang