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 动画技术
Jul 27 HTML / CSS
css3和jquery实现自定义checkbox和radiobox组件
Apr 22 HTML / CSS
HTML5时代CSS设置漂亮字体取代图片
Sep 04 HTML / CSS
用CSS3来实现社交分享按钮
Nov 11 HTML / CSS
纯css3实现的动画按钮的实例教程
Nov 17 HTML / CSS
Canvas 文本转粒子效果的实现代码
Feb 14 HTML / CSS
移动端html5 meta标签的神奇功效
Jan 06 HTML / CSS
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
Jan 20 HTML / CSS
HTML5手机端弹出遮罩菜单特效代码
Jan 27 HTML / CSS
z-index不起作用
Mar 31 HTML / CSS
详解CSS开发过程中的20个快速提升技巧
May 21 HTML / CSS
Html5同时支持多端sdk的小技巧
Nov 17 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学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
PHP遍历数组的三种方法及效率对比分析
2015/02/12 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
CodeIgniter常用知识点小结
2016/05/26 PHP
JavaScript 基本概念
2015/01/20 Javascript
Jquery动态替换div内容及动态展示的方法
2015/01/23 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
electron中使用bootstrap的示例代码
2018/11/06 Javascript
详解JS实现系统登录页的登录和验证
2019/04/29 Javascript
vue使用nprogress实现进度条
2019/12/09 Javascript
[10:24]郎朗助力完美“圣”典,天籁交织奏响序曲
2016/12/18 DOTA
python迭代器的使用方法实例
2013/11/21 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
python3.4实现邮件发送功能
2018/05/28 Python
解决Python pandas df 写入excel 出现的问题
2018/07/04 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
python对日志进行处理的实例代码
2018/10/06 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
python实现机器人卡牌
2019/10/06 Python
pip install python 快速安装模块的教程图解
2019/10/08 Python
python队列原理及实现方法示例
2019/11/27 Python
使用pandas 将DataFrame转化成dict
2019/12/10 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
python怎么判断素数
2020/07/01 Python
党章培训心得体会
2014/09/04 职场文书
大连星海广场导游词
2015/02/10 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
2015年业务工作总结范文
2015/04/10 职场文书
食堂卫生管理制度
2015/08/04 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
Java实现二分搜索树的示例代码
2022/03/17 Java/Android