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 相关文章推荐
CSS书写规范、顺序和命名规则
Mar 06 HTML / CSS
CSS3 animation ? steps 函数详解
Aug 30 HTML / CSS
10种CSS3实现的loading动画,挑一个走吧?
Nov 16 HTML / CSS
CSS3实现菜单悬停效果
Nov 17 HTML / CSS
html5 touch事件实现触屏页面上下滑动(一)
Mar 10 HTML / CSS
html Table 表头固定的实现
Jan 22 HTML / CSS
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
Dec 13 HTML / CSS
HTML5进阶段内联标签汇总(小篇)
Jul 13 HTML / CSS
phonegap常用事件总结(必看篇)
Mar 31 HTML / CSS
Canvas制作旋转的太极的示例
Mar 09 HTML / CSS
html5录音功能实战示例
Mar 25 HTML / CSS
CSS浮动引起的高度塌陷问题
Aug 05 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
《逃离塔科夫》——“萌新劝退,老手自嗨”的硬核FPS游戏
2020/04/03 其他游戏
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
2014/07/23 PHP
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
PHP产生不重复随机数的5个方法总结
2014/11/12 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
php生出随机字符串
2017/07/06 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
javascript实现轮显新闻标题链接
2007/08/13 Javascript
javascript 三种编解码方式
2010/02/01 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
2015/10/10 Javascript
JavaScript数组方法总结分析
2016/05/06 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
利用layer实现表单完美验证的方法
2019/09/26 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
[15:46]教你分分钟做大人——沙王
2015/03/11 DOTA
python3使用tkinter实现ui界面简单实例
2014/01/10 Python
简单介绍Python中的struct模块
2015/04/28 Python
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
Python 字符串换行的多种方式
2018/09/06 Python
详解Python3 pandas.merge用法
2019/09/05 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
物流管理专业大学生自荐信
2013/10/04 职场文书
采购主管岗位职责
2014/02/01 职场文书
商务日语专业自荐信
2014/04/17 职场文书
企业晚会策划方案
2014/05/29 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书