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 相关文章推荐
HTML5时代CSS设置漂亮字体取代图片
Sep 04 HTML / CSS
CSS3实现自定义Checkbox特效实例代码
Apr 24 HTML / CSS
移动端适配 使px自动转换rem
Aug 26 HTML / CSS
html5文本内容_动力节点Java学院整理
Jul 11 HTML / CSS
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
Nov 30 HTML / CSS
html5通过canvas实现刮刮卡效果示例分享
Jan 27 HTML / CSS
HTML5学习笔记之html5与传统html区别
Jan 06 HTML / CSS
html5超简单的localStorage实现记住密码的功能实现
Sep 07 HTML / CSS
解决HTML5手机端页面缩放的问题
Oct 27 HTML / CSS
css3中transform属性实现的4种功能
Aug 07 HTML / CSS
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
Dec 06 HTML / CSS
HTML页面中使两个div并排显示的实现
May 15 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/06/07 PHP
php 计算两个时间戳相隔的时间的函数(小时)
2009/12/18 PHP
PHP array_multisort()函数的使用札记
2011/07/03 PHP
如何解决CI框架的Disallowed Key Characters错误提示
2013/07/05 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
30个最佳jQuery Lightbox效果插件分享
2011/04/11 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
js单例模式详解实例
2013/11/21 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
JS实现1000以内被3或5整除的数字之和
2016/02/18 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
vue devtools的安装与使用教程
2018/08/08 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
对python多线程与global变量详解
2018/11/09 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
利用python求积分的实例
2019/07/03 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
全球领先美式家具品牌:Ashley爱室丽家居
2017/08/07 全球购物
比利时买床:Beter Bed
2017/12/06 全球购物
Android面试题附答案
2014/12/08 面试题
信用社实习人员自我鉴定
2013/09/20 职场文书
大学生实习证明范本
2014/01/15 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP
关于JS中的作用域中的问题思考分享
2022/04/06 Javascript
MySQL深分页问题解决思路
2022/12/24 MySQL