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 中实现炫酷的loading效果
Apr 26 HTML / CSS
css3加js做一个简单的3D行星运转效果实例代码
Jan 18 HTML / CSS
CSS3制作hover下划线动画
Mar 27 HTML / CSS
CSS3实现王者荣耀匹配人员加载页面的方法
Apr 16 HTML / CSS
Data URI scheme详解和使用实例及图片base64编码实现方法
May 08 HTML / CSS
localStorage、sessionStorage使用总结
Nov 17 HTML / CSS
H5混合开发app如何升级的方法
Jan 10 HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
Oct 22 HTML / CSS
HTML5 body设置自适应全屏
May 07 HTML / CSS
浅析HTML5页面元素及属性
Jan 20 HTML / CSS
css display table 自适应高度、宽度问题的解决
May 07 HTML / CSS
HTML CSS 一个标签实现带动画的抖音LOGO
Apr 26 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 全文搜索和替换的实现代码
2008/07/29 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
node内置调试方法总结
2018/02/22 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
2020/08/18 Javascript
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
python关键字and和or用法实例
2015/05/28 Python
Django中的forms组件实例详解
2018/11/08 Python
如何基于Python批量下载音乐
2019/11/11 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
比利时的在线灯具店:Lampen24.be
2019/07/01 全球购物
印刷工程专业应届生求职信
2013/09/29 职场文书
进修护士自我鉴定
2013/10/14 职场文书
体育老师的教学自我评价分享
2013/11/19 职场文书
建筑个人求职信范文
2014/01/25 职场文书
教师党员公开承诺书
2014/03/25 职场文书
请假条格式范文
2014/04/10 职场文书
九九重阳节标语
2014/10/07 职场文书
乡镇群众路线整改落实情况汇报
2014/10/28 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
校园文化艺术节开幕词
2016/03/04 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
Python Parser的用法
2021/05/12 Python
总结几个非常实用的Python库
2021/06/26 Python
Java版 简易五子棋小游戏
2022/05/04 Java/Android