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图片边框border-image的用法
Jun 30 HTML / CSS
CSS3 选择器 基本选择器介绍
Jan 21 HTML / CSS
用css3写出气球样式的示例代码
Sep 11 HTML / CSS
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
Jan 23 HTML / CSS
CSS3 rgb and rgba(透明色)的使用详解
Sep 25 HTML / CSS
CSS3实现的渐变幻灯片效果
Dec 07 HTML / CSS
HTML5里autofocus自动聚焦属性使用介绍
Jun 22 HTML / CSS
html5 标签
Jul 16 HTML / CSS
html5适合移动应用开发的12大特性
Mar 19 HTML / CSS
简单介绍HTML5中audio标签的使用
Sep 24 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
Aug 27 HTML / CSS
css中有哪些方式可以隐藏页面元素及区别
Jun 16 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
一个MYSQL操作类
2006/11/16 PHP
php 正则表达式小结
2009/08/31 PHP
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
2013/06/19 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
javascript实现的固定位置悬浮窗口实例
2015/04/30 Javascript
在Javascript中处理字符串之big()方法的使用
2015/06/08 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
2016/04/14 Javascript
Javascript基础_嵌入图像的简单实现
2016/06/14 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
js中null与空字符串&quot;&quot;的区别讲解
2019/01/17 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
js获取图片的base64编码并压缩
2020/12/05 Javascript
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
[50:27]OG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/30 DOTA
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
python使用正则筛选信用卡
2019/01/27 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
Python迭代器协议及for循环工作机制详解
2020/07/14 Python
Python tkinter制作单机五子棋游戏
2020/09/14 Python
澳大利亚排名第一的狂热牛仔品牌:ONETEASPOON
2018/11/20 全球购物
Perfume’s Club德国官网:在线购买香水
2019/04/08 全球购物
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
环境科学专业研究生求职信
2013/10/02 职场文书
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
住院医师规范化培训实施方案
2014/06/12 职场文书
个人四风问题原因分析及整改措施
2014/09/28 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python